Какво е Flow: визуална автоматизация и IoT с FlowStreams
Flow (totaljs/flow, версия 11.1 към момента на писане) е основното приложение на семейството Total.js за визуално програмиране. Чертаете диаграма в браузъра: всяка кутия е компонент, линиите между тях носят съобщения, а диаграмата е FlowStream. Flow пази много FlowStreams, изпълнява всеки от тях и ви дава редактора, наблюдението и API за управлението им.
Това е приложение на Total.js 5 с лиценз MIT и не се нуждае от база данни: всичко се намира в две папки на приложението (вижте инсталиране и първо стартиране).
Какво получавате
- Визуален редактор в браузъра (маршрутът
/designer/) с библиотека от компоненти, readme на всеки компонент, конзола, променливите на потока и тъмен режим. - Много независими FlowStreams в една инсталация, всеки с име, икона, цвят, група, автор, версия и бележки. По подразбиране всеки поток работи в собствен процес на Node.js (
flowstream_worker: forkвъв файлаconfig), така че поток, който се срине, не повлича останалите, а Flow го рестартира. - Компоненти като обикновени файлове. Компонентът е един HTML файл с част на Node.js, форма за настройки и дизайн (вижте напишете компонент). Официалният каталог е хранилището
flowstreamcomponents. - Входове към външния свят: потокът може да публикува HTTP маршрути под собствен
proxypath, да приема повиквания на/notify/{id}/и да общува чрез WebSocket. - Импортиране и експортиране на поток като един JSON файл, пауза, рестартиране, статистика и резервно копие на базата данни с потоците.
- Вход с генерирани потребителско име и парола или чрез OpenPlatform, когато инсталирате Flow като едно от неговите приложения, с правата Create Flows и Remove Flows.
- Разширения: HTML файлове, които копирате в папка, за да разширите редактора.
Къде се вписва
Flow е инструментът за свързване на неща без писане на сървър: прочитане на сензор, извикване на API всяка минута, преобразуване на съобщение, съхраняването му, изпращане на известие, отговор на HTTP заявка. Тъй като средата за изпълнение е FlowStream на Total.js 5, същият двигател може да се вгради и във вашето приложение; Flow е цялостното приложение около него.
Семейството
Flow има роднини в други хранилища на github.com/totaljs: lesscode, flowstreamdesigner, flowdesigneroffline, flowdesigner и други. Те съществуват като отделни проекти; този раздел документира само приложението flow и неговите компоненти.