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

> Flow è l’app Total.js che esegue FlowStream, diagrammi visuali di componenti collegati da messaggi, per automazione, integrazioni e IoT, con un editor nel browser e un’API per gestire i flussi.

Framework: flow
Product: Flow (flow@11.1)
Language: it
Content-SHA256: ba1f060a26ec1aad8651d00e3e2f8e12687d6d4ccb32589a8638e62eed3a4811
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

**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](/en/flow/install-and-first-start/)).

## 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](/en/flow/write-a-component/)). Il catalogo ufficiale è il repository [`flowstreamcomponents`](/en/flow/the-components-repository/).
- **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](/en/openplatform/what-is-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`](https://github.com/totaljs/lesscode), [`flowstreamdesigner`](https://github.com/totaljs/flowstreamdesigner), [`flowdesigneroffline`](https://github.com/totaljs/flowdesigneroffline), [`flowdesigner`](https://github.com/totaljs/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](/en/flow/install-and-first-start/)
2. [Gestire i FlowStream con l’API](/en/flow/manage-flowstreams-with-the-api/)
3. [Impostazioni e file](/en/flow/settings-and-files/)
4. [Scrivere un componente](/en/flow/write-a-component/)
5. [Il repository dei componenti](/en/flow/the-components-repository/)
