ForgeFlow
it

Flow

Che cos’è Flow: automazione visuale e IoT con i FlowStream

Flow · flow@11.1 flowflowstreamautomationiotvisual

Flow (totaljs/flow, versione 11.1 al momento della scrittura) è l’applicazione principale della famiglia Total.js per la programmazione visuale. Disegni un diagramma nel browser: ogni riquadro è un componente, le linee tra loro portano messaggi e il diagramma è un FlowStream. Flow conserva molti FlowStream, esegue ciascuno e ti offre l’editor, il monitoraggio e un’API per gestirli.

È un’applicazione Total.js 5 con licenza MIT e non ha bisogno di un database: tutto vive in due cartelle dell’applicazione (vedi installazione e primo avvio).

Cosa ottieni

  • Un editor visuale nel browser (la rotta /designer/) con una libreria di componenti, il readme di ogni componente, una console, le variabili del flusso e la modalità scura.
  • Molti FlowStream indipendenti in un’unica installazione, ciascuno con nome, icona, colore, gruppo, autore, versione e note. Per impostazione predefinita ogni flusso gira nel proprio processo Node.js (flowstream_worker: fork nel file config), così un flusso che si blocca non trascina gli altri e Flow lo riavvia.
  • Componenti come semplici file. Un componente è un file HTML con una parte Node.js, il suo modulo di impostazioni e il suo design (vedi scrivere un componente). Il catalogo ufficiale è il repository flowstreamcomponents.
  • Ingressi verso il mondo esterno: un flusso può pubblicare rotte HTTP sotto un proprio proxypath, ricevere chiamate su /notify/{id}/ e comunicare via WebSocket.
  • Importazione ed esportazione di un flusso come un unico file JSON, pausa, riavvio, statistiche e un backup del database dei flussi.
  • Accesso con login e password generati, oppure tramite OpenPlatform quando installi Flow come una delle sue app, con i permessi Create Flows e Remove Flows.
  • Estensioni: file HTML che copi in una cartella per estendere l’editor.

Dove si colloca

Flow è lo strumento per collegare le cose senza scrivere un server: leggere un sensore, chiamare un’API ogni minuto, trasformare un messaggio, salvarlo, inviare un avviso, rispondere a una richiesta HTTP. Poiché il runtime è il FlowStream di Total.js 5, lo stesso motore può essere incorporato anche nella tua applicazione; Flow è l’applicazione completa che lo circonda.

La famiglia

Flow ha dei parenti in altri repository di github.com/totaljs: lesscode, flowstreamdesigner, flowdesigneroffline, flowdesigner e altri. Esistono come progetti separati; questa sezione documenta solo l’applicazione flow e i suoi componenti.

Passi successivi

  1. Installazione e primo avvio
  2. Gestire i FlowStream con l’API
  3. Impostazioni e file
  4. Scrivere un componente
  5. Il repository dei componenti