Participa del mayor Hackathon de LATAM sobre Cambio Climático | 23 al 25 Julio Inscríbete

Blog de desarrolladores de IBM

Siga los últimos acontecimientos con IBM Developer y manténgase informado.

Node-RED es su herramienta de desarrollo visual de open-source y código bajo


Node-RED es un entorno de programación basado en flujos, el cual permite a los desarrolladores crear aplicaciones basadas en eventos de manera simple e intuitiva. Puedes aprender algo más acerca de Node-RED en esta entrevista por video con Greg Gorman, Director de Global Developer Advocacy en IBM.

Fue desarrollado sobre la base de Node.JS y ofrece un editor basado en navegador para conectar flujos. Puede ejecutarse en dispositivos como Raspberry Pi o en IBM Cloud, lo cual lo convierte en una herramienta muy versátil.

De un proyecto paralelo a JS Foundation

Node-RED fue desarrollado inicialmente por Dave Conway-Jones y por mí, dentro del equipo de IBM Emerging Technologies. Era un proyecto paralelo que exploraba el arte de lo posible en lo que respecta a herramientas de desarrollo de código bajo y visualización en el navegador. Pero nuestro trabajo principal no era dedicar tiempo a diseñar herramientas de desarrollo, sino a desarrollar soluciones reales para los clientes. Esto implicaba que solo agregábamos funciones en respuesta directa a una necesidad real de realizar algo en particular. También implicó que fue desarrollado con una filosofía de ampliación y adaptación sencillas a nuevos propósitos.

Cuando quedó claro que Node-RED se estaba volviendo una herramienta indispensable, concluimos rápidamente que la mejor forma de mantener el proyecto era mediante open-source. Con la implementación de aprobaciones adecuadas, lo lanzamos en GitHub, en septiembre de 2013.

Desde ese entonces, se creó una significativa comunidad de usuarios, con más de 1 millón de descargas, 1700 nodos de complemento de terceros disponibles y una comunidad de contribuyentes cada vez mayor, la cual permite impulsar el proyecto.

En octubre de 2016, Node-RED se convirtió en uno de los proyectos fundadores de JS Foundation. Esto reafirmó el compromiso de IBM con el proyecto al garantizar que no solo fuese desarrollado de manera abierta, sino que también cuente con una estructura de gestión abierta y bien establecida.

Desarrollo de aplicaciones de código bajo

Node-RED representa un estilo de “código bajo” para el desarrollo de aplicaciones, donde los desarrolladores pueden crear rápidamente aplicaciones significativas sin tener que escribir mucho código. El término código bajo lo acuñó la empresa Forrester Research en un informe publicado en 2014, aunque claramente representa un estilo de desarrollo que se remonta a más años.

Hay una serie de beneficios del desarrollo de aplicaciones de bajo código, los cuales se observan de primera mano con Node-RED:

  • Reduce el tiempo que demora crear una aplicación que funcione. El verdadero valor se puede observar mucho más rápido que en el caso de modelos de desarrollo tradicionales.

  • Es accesible para una amplia gama tanto de desarrolladores como de personas que no lo son. Por sobre todas las cosas, el desarrollo de código bajo es uno de los beneficios más importantes de Node-RED. Cualquier persona que comprenda un problema específico de dominio, como un analista comercial, un lingüista o un ingeniero de la construcción, conocerá los pasos discretos que se necesitan para resolverlo. Node-RED les otorga las herramientas para expresar esos pasos dentro de un flujo y desarrollar la solución por ellos mismos.

  • Su carácter visual permite a los usuarios ver su aplicación. «Muestra, no expliques», es un concepto poderoso. A menudo, Node-RED se usa para realizar una demostración de capacidades de API, como los servicios cognitivos Watson. Es muy efectiva porque la visualización de la lógica de tu aplicación muestra el arte de lo posible sin tener que explicar cada punto y coma, corchete y llave. No todos piensan en líneas de código; la representación visual de la lógica de la aplicación es mucho más reconocible.

¿Código bajo? Un momento, ¡yo quiero escribir código!

Las plataformas de código bajo pueden habilitar el desarrollo de aplicaciones a una mayor cantidad de desarrolladores, aunque aún existen algunos críticos que prefieren poder experimentar con el código subyacente.

Es en este criticismo donde el abordaje abierto de manera predeterminada de Node-RED cuenta con una ventaja. Node-RED no es una plataforma cerrada que actúa completamente como una caja negra. Todos pueden realizar un análisis detallado y saber lo que está ocurriendo, ofrecer feedback o sugerir cambios. Si alguien encuentra un nodo que no realiza realmente lo que necesita, puede tranquilamente trabajar con el autor para agregar las funciones deseadas o elegir crear su propio nodo.

Node-RED en IBM Cloud

Node-RED estuvo disponible como aplicación de conjunto inicial en el catálogo de IBM Cloud desde los comienzos de la plataforma. Se usa ampliamente en todos los patrones de código disponibles en IBM Developer en una amplia gama de áreas de tecnología, incluidas IoT, Blockchain, e Inteligencia Artificial.

Con miras al futuro

El último verano, publicamos una hoja de ruta para llegar a la versión 1.0. Esta hoja de ruta presentó una serie de temas en los que debía enforcarse el proyecto, incluido el flujo de trabajo del desarrollador, la estabilidad de la API y la extensibilidad. A partir de estos temas, se identificó un conjunto de funciones técnicas de alto nivel para entregar en la hoja de ruta y alcanzar la versión 1.0 en el segundo semestre de 2019.

Dave y yo continuamos impulsando el proyecto hacia su meta con soporte completo de IBM. Fue impresionante ver a la comunidad continuar desarrollando lo que comenzó siendo nuestro pequeño proyecto paralelo. Continúa representando muy bien el enfoque de IBM con respecto a open-source.