# Qué es Flow: automatización visual e IoT con FlowStreams

> Flow es la aplicación de Total.js que ejecuta FlowStreams, diagramas visuales de componentes conectados por mensajes, para automatización, integraciones e IoT, con un editor en el navegador y una API para gestionar los flujos.

Framework: flow
Product: Flow (flow@11.1)
Language: es
Content-SHA256: 1dfbb4890714cee2fd23f9b69f60e27ef3e4d440c4105e6187ada0ade9a3986d
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

**Flow** (`totaljs/flow`, versión 11.1 en el momento de escribir esto) es la aplicación principal de la familia Total.js para la programación visual. Dibujas un diagrama en el navegador: cada caja es un **componente**, las líneas entre ellas llevan **mensajes** y el diagrama es un **FlowStream**. Flow guarda muchos FlowStreams, ejecuta cada uno y te da el editor, la monitorización y una API para gestionarlos.

Es una aplicación Total.js 5 con licencia MIT y **no necesita base de datos**: todo vive en dos carpetas de la aplicación (consulta [instalación y primer arranque](/en/flow/install-and-first-start/)).

## Qué obtienes

- **Un editor visual** en el navegador (la ruta `/designer/`) con una biblioteca de componentes, el readme de cada componente, una consola, las variables del flujo y modo oscuro.
- **Muchos FlowStreams independientes** en una instalación, cada uno con nombre, icono, color, grupo, autor, versión y notas. Por defecto cada flujo se ejecuta en su **propio proceso de Node.js** (`flowstream_worker: fork` en el archivo `config`), de modo que un flujo que falla no arrastra a los demás, y Flow lo reinicia.
- **Componentes como archivos normales.** Un componente es un archivo HTML con una parte Node.js, su formulario de ajustes y su diseño (consulta [escribir un componente](/en/flow/write-a-component/)). El catálogo oficial es el repositorio [`flowstreamcomponents`](/en/flow/the-components-repository/).
- **Vías de entrada al mundo exterior**: un flujo puede publicar rutas HTTP bajo su propio `proxypath`, recibir llamadas en `/notify/{id}/` y hablar por WebSocket.
- **Importar y exportar** un flujo como un único archivo JSON, pausar, reiniciar, estadísticas y una copia de seguridad de la base de datos de flujos.
- **Inicio de sesión** con un login y una contraseña generados, o mediante [OpenPlatform](/en/openplatform/what-is-openplatform/) cuando instalas Flow como una de sus apps, con los permisos *Create Flows* y *Remove Flows*.
- **Extensiones**: archivos HTML que copias a una carpeta para ampliar el editor.

## Dónde encaja

Flow es la herramienta para conectar cosas sin escribir un servidor: leer un sensor, llamar a una API cada minuto, transformar un mensaje, guardarlo, enviar una alerta, responder a una petición HTTP. Como el motor es el FlowStream de Total.js 5, el mismo motor puede integrarse también en tu propia aplicación; Flow es la aplicación completa que lo rodea.

## La familia

Flow tiene parientes en otros repositorios de `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) y otros. Existen como proyectos separados; esta sección documenta solo la aplicación `flow` y sus componentes.

## Siguientes pasos

1. [Instalación y primer arranque](/en/flow/install-and-first-start/)
2. [Gestionar FlowStreams con la API](/en/flow/manage-flowstreams-with-the-api/)
3. [Ajustes y archivos](/en/flow/settings-and-files/)
4. [Escribir un componente](/en/flow/write-a-component/)
5. [El repositorio de componentes](/en/flow/the-components-repository/)
