ForgeFlow
es

Flow

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

Flow · flow@11.1 flowflowstreamautomationiotvisual

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).

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). El catálogo oficial es el repositorio flowstreamcomponents.
  • 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 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, flowstreamdesigner, flowdesigneroffline, 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
  2. Gestionar FlowStreams con la API
  3. Ajustes y archivos
  4. Escribir un componente
  5. El repositorio de componentes