OpenWire (библиотека)

OpenWire
Разработчик(и)Боян Митов
Первоначальный выпуск31 августа 2001 г. ; 23 года назад ( 2001-08-31 )
Стабильный релиз
8.0.0.100 / 6 декабря 2023 г. ; 13 месяцев назад ( 2023-12-06 )
Написано вДельфи
Операционная системаWindows , Android , MacOS , iOS , Linux
Платформа
  • Аппаратное обеспечение : IA-32 , x64 и ARM
  • Программное обеспечение : VCL и FireMonkey
Размер712 МБ
ТипБиблиотеки
ЛицензияБесплатно и с открытым исходным кодом , требуется указание источника [1]
Веб-сайтwww.openwire.org

OpenWire — это библиотека программирования потоков данных с открытым исходным кодом , которая расширяет функциональность Embarcadero Delphi и C++ Builder , предоставляя свойства компонентов типа выводов. Свойства могут быть связаны друг с другом. Соединения могут использоваться для передачи данных или информации о состоянии между выводами, имитируя функциональность LabVIEW , Agilent VEE и Simulink . OpenWire доступна для Visual Component Library (VCL) и FireMonkey (FMX). [2]

История

Проект начался в 1997 году как попытка визуального проектирования текстовых парсеров. Позже он использовался для проектирования библиотек обработки сигналов и был расширен для поддержки любого типа данных. [ необходима цитата ]

Булавки

Контакты формируют соединения между компонентами. OpenWire определяет 4 типа контактов:

  • SourcePinобычно предоставляет данные. Может подключаться к одному или нескольким SinkPinsи к одному StatePin.
  • SinkPinобычно получает данные. Может быть подключен к одному SourcePin.
  • MultiSinkPinобычно получает данные. Может быть подключен к одному или нескольким SourcePin.
  • StatePinобычно используется для обмена состоянием между компонентами. Может быть подключен к одному или нескольким StatePinsили SinkPins, и к одному SourcePin.

Списки контактов

Списки выводов могут содержать и группировать выводы. OpenWire определяет 2 типа списков выводов:

  • PinListсодержит пины, но не несет ответственности за их создание или уничтожение.
  • PinListOwnerсодержит пины и отвечает за их создание или уничтожение.

Типы данных

Два контакта в OpenWire могут соединяться и обмениваться данными только в том случае, если они поддерживают совместимые типы данных. Каждый контакт может поддерживать один или несколько типов данных. Типы данных различаются по уникальному для каждого типа данных идентификатору GUID .

Конвертеры форматов

Последняя версия OpenWire поддерживает автоматическое преобразование данных. Если два контакта не могут быть соединены напрямую из-за несовместимых типов данных, можно использовать автоматический преобразователь формата данных для преобразования данных между контактами. Разработчики могут создавать и регистрировать преобразователи формата, связанные с различными типами данных.

Многопоточность

OpenWire разработан как потокобезопасный и хорошо подходит для многопоточной разработки компонентов VCL и FireMonkey .

История версий

Ниже приводится краткий обзор информации о выпуске продукта.

ДатаВерсияЗначительные изменения
31 августа 2001 г.1.2Официальный релиз.
4 сентября 2001 г.1.3Небольшие исправления.
21 ноября 2001 г.1.4Незначительные изменения.
16 февраля 2002 г.1.5Улучшена поддержка нескольких типов данных на один вывод.
23 февраля 2002 г.1.6Поддержка Delphi 6.0.
14 апреля 2002 г.1.7Поддержка C++ Builder 6.0.
9 мая 2002 г.1.8Улучшенный и очищенный релиз.
13 апреля 2003 г.2.0Добавлена ​​поддержка StatePin и диспетчеров.
15 мая 2003 г.2.1Технический релиз.
27 августа 2003 г.2.2Технический релиз.
3 января 2004 г.2.3Добавлен сложный тип данных.
2 декабря 2004 г.2.4Добавлена ​​поддержка многопоточности. Поддержка Delphi 2005.
22 июня 2005 г.2.5Улучшенная многопоточность.
22 февраля 2006 г.2.6Небольшие улучшения.
4 января 2007 г.3.0Добавлена ​​поддержка дополнительных редакторов (графических).
25 октября 2007 г.3.1Исправлена ​​загрузка из Frames.
14 марта 2009 г.4.0Добавлены конвертеры форматов. Добавлена ​​поддержка Lazarus для Windows и Linux.
23 сентября 2009 г.4.3Добавлена ​​поддержка Delphi и C++ Builder 2010.
7 мая 2010 г.4.5Добавлены TOWMultiSinkPins.
2 сентября 2011 г.5.0Добавлена ​​поддержка Delphi и C++ Builder XE, XE2 и FireMonkey. Совместимо с 64-битной версией.
1 октября 2011 г.5.0.1Технический релиз.
11 октября 2012 г.5.0.3Добавлена ​​поддержка Delphi и C++ Builder XE3. Добавлена ​​начальная поддержка MAC.
12 июня 2013 г.6.0Добавлена ​​поддержка Delphi и C++ Builder XE4.

Прекращена поддержка версий старше Delphi и C++ Builder XE2.

Прекращена поддержка Lazarus из-за отсутствия языковых возможностей.

13 апреля 2014 г.7.0Добавлена ​​поддержка Delphi и C++ Builder XE5 и XE6.

Прекращена поддержка версий старше Delphi и C++ Builder XE3.

Добавлена ​​поддержка Android.

13 ноября 2014 г.7.5Добавлена ​​поддержка Delphi и C++ Builder XE7.

Прекращена поддержка версий старше Delphi и C++ Builder XE4.

Переработан для использования новой бесплатной библиотеки Mitov.Runtime, которая значительно сокращает код.

12 апреля 2015 г.7.6Добавлены Delphi и C++ Builder XE8, а также поддержка XE8

Прекращена поддержка версий старше Delphi и C++ Builder XE4.

26 октября 2015 г.7.7Добавлена ​​поддержка Delphi и C++ Builder 10 Seattle
1 мая 2016 г.7.8Добавлена ​​поддержка Delphi и C++ Builder 10.1 Berlin
21 декабря 2018 г.7.8.2Добавлена ​​поддержка Delphi и C++ Builder 10.2
28 апреля 2021 г.8.0.0Добавлена ​​поддержка Delphi и C++ Builder 10.3 и 10.4
11 октября 2021 г.8.0.0.36Добавлена ​​поддержка Delphi и C++ Builder 11.0 Alexandria
6 декабря 2023 г.8.0.0.100Добавлена ​​поддержка Delphi и C++ Builder 12.0 Athens

Будущее развитие

Графический редактор OpenWire находится в стадии разработки. Последняя версия редактора доступна на домашней странице OpenWire.

Ссылки

  1. ^ "Mitov Software - OpenWire". Mitov.com . Получено 2016-08-16 .
  2. ^ Администратор (2014-04-23). ​​"Быстрая разработка приложений без кода с использованием OpenWire в Delphi XE6 Firemonkey на Android и OSX | Delphi XE5 XE6 XE7 XE8 10 Сиэтл Берлин Firemonkey, Delphi Android, Delphi IOS". Fmxexpress.com . Получено 2016-08-16 .
  • Официальный сайт
  • OpenWire (библиотека) на SourceForge
Взято с "https://en.wikipedia.org/w/index.php?title=OpenWire_(library)&oldid=1216079638"