Čo je Flow: vizuálna automatizácia a IoT s FlowStreamami
Flow (totaljs/flow, verzia 11.1 v čase písania) je hlavná aplikácia rodiny Total.js pre vizuálne programovanie. V prehliadači nakreslíte diagram: každý box je komponent, čiary medzi nimi prenášajú správy a diagram je FlowStream. Flow uchováva mnoho FlowStreamov, každý spúšťa a poskytuje editor, monitorovanie a API na ich správu.
Je to aplikácia Total.js 5 s licenciou MIT a nepotrebuje databázu: všetko je v dvoch priečinkoch aplikácie (pozrite inštaláciu a prvé spustenie).
Čo získate
- Vizuálny editor v prehliadači (cesta
/designer/) s knižnicou komponentov, readme každého komponentu, konzolou, premennými toku a tmavým režimom. - Mnoho nezávislých FlowStreamov v jednej inštalácii, každý s názvom, ikonou, farbou, skupinou, autorom, verziou a poznámkami. Predvolene každý tok beží vo vlastnom procese Node.js (
flowstream_worker: forkv súboreconfig), takže tok, ktorý zlyhá, nestiahne ostatné so sebou a Flow ho reštartuje. - Komponenty ako obyčajné súbory. Komponent je jeden súbor HTML s časťou Node.js, formulárom nastavení a dizajnom (pozrite napísať komponent). Oficiálny katalóg je repozitár
flowstreamcomponents. - Vstupy pre vonkajší svet: tok môže publikovať trasy HTTP pod vlastným
proxypath, prijímať volania na/notify/{id}/a komunikovať cez WebSocket. - Import a export toku ako jeden súbor JSON, pozastavenie, reštart, štatistiky a záloha databázy tokov.
- Prihlásenie s vygenerovaným loginom a heslom alebo cez OpenPlatform, keď Flow nainštalujete ako jednu z jeho aplikácií, s oprávneniami Create Flows a Remove Flows.
- Rozšírenia: súbory HTML, ktoré skopírujete do priečinka, aby ste rozšírili editor.
Kam zapadá
Flow je nástroj na prepájanie vecí bez písania servera: prečítať senzor, každú minútu zavolať API, transformovať správu, uložiť ju, poslať upozornenie, odpovedať na požiadavku HTTP. Keďže runtime je FlowStream z Total.js 5, ten istý engine možno vložiť aj do vlastnej aplikácie; Flow je kompletná aplikácia okolo neho.
Rodina
Flow má príbuzných v ďalších repozitároch github.com/totaljs: lesscode, flowstreamdesigner, flowdesigneroffline, flowdesigner a ďalšie. Existujú ako samostatné projekty; táto sekcia dokumentuje iba aplikáciu flow a jej komponenty.