Show HN: Flyde – un lenguaje de programación visual de código abierto

Recepción general

  • Muchos consideran que Flyde es impresionante, pulido y está bien posicionado como un complemento de la programación textual más que como un reemplazo.
  • Se valora mucho su enfoque en la interoperabilidad con bases de código JS/TS existentes y la capacidad de ejecutar flujos como una biblioteca.
  • Los escépticos cuestionan si un nuevo lenguaje visual puede tener éxito de forma amplia y si los grafos de nodos escalan para sistemas complejos.

Programación visual: fortalezas y límites

  • Los defensores argumentan que la programación visual sigue poco explorada, especialmente para:
    • Delegar preocupaciones específicas del dominio mediante nodos bien definidos.
    • Hacer que el comportamiento asíncrono/paralelo y el flujo de datos sean espaciales e intuitivos.
    • Permitir que personas no programadoras o principiantes construyan lógica sin un conocimiento profundo de la sintaxis.
  • Otros señalan que los VPL han existido durante décadas (LabVIEW, Simulink, lenguajes PLC, Pure Data, Scratch, etc.) y funcionan mejor en contextos específicos del dominio o altamente interactivos.
  • Debilidades clave citadas:
    • Mala ergonomía para flujos de trabajo grandes; los grafos se vuelven “espagueti” ilegible.
    • Difíciles los diffs, el control de versiones, la búsqueda y la entrada rápida en comparación con texto.
    • Límites de planitud/diseño 2D y dificultad para representar ramas, bucles y algoritmos complejos de forma compacta.

Decisiones de diseño de Flyde y comparaciones

  • Se posiciona como un sistema basado en flujos, orientado a JS/TS, que se integra en aplicaciones existentes (integración con VSCode, runtime en Node/navegador), en contraste con herramientas autónomas como Node-RED o n8n.
  • Modelo de ejecución: asíncrono, basado en mensajes, con inclinación funcional-reactiva; los nodos tienen salidas de error y pueden modelar paralelismo y comportamientos tipo Promise.
  • Algunos prefieren nodos al estilo Blueprint de “función con parámetros” y señales visuales más ricas para la ejecución frente al flujo de datos; el modelo actual de pines se ve como flexible, pero a veces recargado.
  • Se compara con frecuencia con Node-RED:
    • Se elogia a Node-RED por su ecosistema y la construcción de interfaces, pero se critica su modelo de mensaje de entrada única y el exceso de movimiento de datos.
    • Flyde se considera de más bajo nivel, más integrable, no (todavía) un reemplazo de Node-RED.
  • Funciones futuras/deseadas mencionadas: mejor auto-disposición, grafos jerárquicos con zoom, visualizaciones de valores en vivo, formato de archivo JSON, editor de web components, soporte multilenguaje.

Casos de uso y pedagogía

  • Aplicaciones sugeridas: backends web, constructores visuales de API, bots de Discord, flujos de Reverse ETL, cálculos mecánicos/ingenieriles, educación para niños y no desarrolladores.
  • Varios lo ven ideal para aprender conceptos como la concurrencia; otros subrayan que, para lógica empresarial compleja, el texto plano probablemente seguirá siendo lo principal, con herramientas como Flyde como orquestación de nivel superior.