Was ist Flow: visuelle Automatisierung und IoT mit FlowStreams
Flow (totaljs/flow, Version 11.1 zum Zeitpunkt des Schreibens) ist die Hauptanwendung der Total.js-Familie für visuelle Programmierung. Sie zeichnen ein Diagramm im Browser: Jede Box ist eine Komponente, die Linien dazwischen transportieren Nachrichten, und das Diagramm ist ein FlowStream. Flow verwaltet viele FlowStreams, führt jeden aus und bietet den Editor, die Überwachung und eine API zu ihrer Verwaltung.
Es ist eine Total.js-5-Anwendung unter MIT-Lizenz und braucht keine Datenbank: Alles liegt in zwei Ordnern der Anwendung (siehe Installation und erster Start).
Was Sie bekommen
- Ein visueller Editor im Browser (die Route
/designer/) mit einer Bibliothek von Komponenten, dem Readme jeder Komponente, einer Konsole, den Variablen des Streams und einem Dark Mode. - Viele unabhängige FlowStreams in einer Installation, jeder mit Name, Icon, Farbe, Gruppe, Autor, Version und Notizen. Standardmäßig läuft jeder Stream in einem eigenen Node.js-Prozess (
flowstream_worker: forkin der Dateiconfig), sodass ein fehlerhafter Stream die anderen nicht mitreißt und Flow ihn neu startet. - Komponenten als einfache Dateien. Eine Komponente ist eine HTML-Datei mit einem Node.js-Teil, ihrem Einstellungsformular und ihrem Design (siehe Eine Komponente schreiben). Der offizielle Katalog ist das Repository
flowstreamcomponents. - Zugänge zur Außenwelt: Ein Stream kann HTTP-Routen unter einem eigenen
proxypathveröffentlichen, Aufrufe unter/notify/{id}/empfangen und über WebSocket kommunizieren. - Import und Export eines Streams als eine JSON-Datei, Pause, Neustart, Statistiken und ein Backup der Streams-Datenbank.
- Anmeldung mit einem generierten Login und Passwort oder über OpenPlatform, wenn Sie Flow als eine seiner Apps installieren, mit den Berechtigungen Create Flows und Remove Flows.
- Erweiterungen: HTML-Dateien, die Sie in einen Ordner kopieren, um den Editor zu erweitern.
Wo es passt
Flow ist das Werkzeug, um Dinge ohne eigenen Server zu verbinden: einen Sensor lesen, jede Minute eine API aufrufen, eine Nachricht umwandeln, speichern, einen Alarm senden, eine HTTP-Anfrage beantworten. Da die Laufzeit der FlowStream von Total.js 5 ist, lässt sich dieselbe Engine auch in Ihre eigene Anwendung einbetten; Flow ist die vollständige Anwendung darum herum.
Die Familie
Flow hat Verwandte in anderen Repositories von github.com/totaljs: lesscode, flowstreamdesigner, flowdesigneroffline, flowdesigner und weitere. Sie existieren als eigene Projekte; dieser Abschnitt dokumentiert nur die Anwendung flow und ihre Komponenten.