Ce este Flow: automatizare vizuală și IoT cu FlowStreams
Flow (totaljs/flow, versiunea 11.1 în momentul scrierii) este aplicația principală a familiei Total.js pentru programare vizuală. Desenezi o diagramă în browser: fiecare casetă este o componentă, liniile dintre ele poartă mesaje, iar diagrama este un FlowStream. Flow păstrează multe FlowStreams, rulează fiecare flux și îți oferă editorul, monitorizarea și un API pentru gestionarea lor.
Este o aplicație Total.js 5 cu licență MIT și nu are nevoie de bază de date: totul se află în două foldere ale aplicației (vezi instalarea și prima pornire).
Ce primești
- Un editor vizual în browser (ruta
/designer/) cu o bibliotecă de componente, readme-ul fiecărei componente, o consolă, variabilele fluxului și modul întunecat. - Multe FlowStreams independente într-o singură instalație, fiecare cu nume, pictogramă, culoare, grup, autor, versiune și note. Implicit, fiecare flux rulează în propriul proces Node.js (
flowstream_worker: forkîn fișierulconfig), așa că un flux care cade nu le trage după el pe celelalte, iar Flow îl repornește. - Componente ca fișiere simple. O componentă este un fișier HTML cu o parte Node.js, formularul ei de setări și designul ei (vezi scrie o componentă). Catalogul oficial este depozitul
flowstreamcomponents. - Căi de intrare spre lumea exterioară: un flux poate publica rute HTTP sub propriul
proxypath, poate primi apeluri la/notify/{id}/și poate comunica prin WebSocket. - Import și export al unui flux ca un singur fișier JSON, pauză, repornire, statistici și o copie de siguranță a bazei de date a fluxurilor.
- Autentificare cu un login și o parolă generate, sau prin OpenPlatform când instalezi Flow ca una dintre aplicațiile lui, cu permisiunile Create Flows și Remove Flows.
- Extensii: fișiere HTML pe care le copiezi într-un folder pentru a extinde editorul.
Unde se potrivește
Flow este instrumentul pentru a conecta lucruri fără a scrie un server: citești un senzor, apelezi un API în fiecare minut, transformi un mesaj, îl stochezi, trimiți o alertă, răspunzi la o cerere HTTP. Deoarece mediul de execuție este FlowStream din Total.js 5, același motor poate fi încorporat și în propria aplicație; Flow este aplicația completă din jurul lui.
Familia
Flow are rude în alte depozite de pe github.com/totaljs: lesscode, flowstreamdesigner, flowdesigneroffline, flowdesigner și altele. Există ca proiecte separate; această secțiune documentează doar aplicația flow și componentele ei.