IBM y Node.js: Una mirada al pasado, al presente y al futuro – IBM Developer

Blog de desarrolladores de IBM

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

Entérate de cómo IBM ha moldeado a la comunidad y el núcleo Node.js, como también de lo que vislumbramos para el futuro de Node


Desde su lanzamiento en 2009, los desarrolladores han descargado Node.js 1.000 millones de veces. De cara al futuro, todas las señales apuntan a un mayor crecimiento y adopción del tiempo de ejecución.

Los IBMers han estado involucrados con el proyecto Node.js desde 2012 y han contribuido con millones de líneas de código, se han desempeñado en roles de liderazgo en toda la comunidad y, en líneas generales, han impulsado el proyecto y a la comunidad a través de nuestra participación. En esta publicación del blog, analizaremos más detenidamente la forma en que nuestras contribuciones nos han llevado a estar donde estamos hoy y lo que vislumbramos para el futuro del núcleo y la comunidad Node».

Primeros años

En 2012, IBM reconoció la importancia de Node.js y quería asegurarse de que fuera compatible y estuviera integrado por completo en las plataformas IBM, como POWER e IBM Z. Hemos portado el código existente de la comunidad y, mientras trabajábamos para devolver ese puerto a Node.js y proyectos dependientes como V8, lo enviamos a nuestros clientes como IBM SDK para Node.js.

A medida que portamos el código para devolverlo a la comunidad, nuestro equipo también comenzó a participar más activamente en otros trabajos y a ayudar con la clasificación y corrección de problemas generales. Algunos contribuidores a Node.js en este período de tiempo ahora son IBMers, lo cual suma a nuestra historia y experiencia colectivas durante los comienzos de Node.js.

Cismas reparadores que construyen una base para el éxito

A fines de 2014, a medida que crecieron las tensiones dentro de la comunidad Node.js en relación con el modelo de gestión existente, IBM trabajó para unir a las personas y así encontrar un buen camino a seguir. El compromiso histórico de IBM con la gestión abierta nos permitió compartir los beneficios y el valor de avanzar hacia ese modelo.

Lamentablemente, a pesar de nuestros esfuerzos prematuros, no fue posible resolver las tensiones dentro de la comunidad lo suficiente rápido y una bifurcación del proyecto Node.js amenazó con fragmentar y hacer colapsar el ecosistema Node.

IBM redobló sus esfuerzos y se desempeñó como mediador entre grupos con diferentes visiones para el futuro. Defendimos los beneficios de implementar el proyecto Node.js con gestión abierta y demostramos cómo este modelo permitiría que diferentes grupos logren sus objetivos específicos mientras trabajan juntos.

El resultado final fue que IBM, junto con otros participantes clave, ayudaron a establecer la Node.js Foundation. Continuamos siendo un patrocinador platino de la fundación.

Los resultados hablan por sí solos. Desde que el proyecto Node.js adoptó la gestión abierta en la Node.js Foundation, el proyecto ha prosperado. La cantidad de colaboradores y el ritmo de la innovación, así como del cambio han aumentado rápidamente.

Avanzar con liderazgo y código

La Fundación Node.js y la implementación de la gestión abierta permitieron a las empresas y los individuos redoblar los esfuerzos y contribuir a la dirección y al liderazgo del proyecto. IBM se enorgullece de permitir que sus colaboradores realicen justamente esto. Algunos ejemplos incluyen a Todd Moore, vicepresidente de Open Technology en IBM, quien preside el directorio de la Node.js Foundation y mi papel como presidente del Comité de Dirección Técnica de Node.js. Hay muchos ejemplos más.

Actualmente, contamos con miembros del Comité de Dirección Técnica, del Comité de la Comunidad y de muchos de los grupos de trabajo, como también 10 colaboradores centrales de Node.js. Las contribuciones de un grupo aún más grande de colaboradores de Node.js, miembros de TSC y otros contribuyentes que pasaron parte de sus carreras en IBM desarrollando Node.js, es de igual importancia.

Impulsar el proyecto de manera pequeña y grande

Los IBMers son muy activos durante el desarrollo diario de Node.js, ayudando a clasificar, corregir y recibir solicitudes, como también responder preguntas en el repositorio de ayuda. Al mismo tiempo, nuestra estrategia es enfocarnos en iniciativas estratégicas o a largo plazo que impulsen el ecosistema más amplio.

Entre algunos ejemplos de nuestras contribuciones a través de los años, se incluye:

  • Brindar respaldo a ICU para permitir una mejor internacionalización.

  • Ayudar a desarrollar la estrategia LTS de la comunidad para, luego, trabajar de manera activa para implementarla.

  • Desarrollar y aportar CiTGM como una red de seguridad adicional para garantizar que las nuevas versiones no dañen los módulos del ecosistema.

  • Corregir la forma en que se ejecutan las pruebas con soporte de FIPS habilitado y trabajar para agregar estas pruebas a las ejecuciones de CI Node.js regulares.

  • Agregar ejecuciones de cobertura de código nocturnas al CI de la comunidad y publicar los datos en coverage.nodejs.org para que los miembros de la comunidad los usen a fin de mejorar constantemente la cobertura de JavaScript y C++.

  • Formar y liderar el grupo de trabajo de análisis comparativo. Agregar ejecuciones nocturnas de análisis comparativo a la comunidad y publicar los datos en benchmarking.nodejs.org, de manera que podamos seguir el desempeño, evitar regresiones y evangelizar las mejoras constantes en el rendimiento de Node.js.

  • Defender el esfuerzo de N-API para ofrecer a los desarrolladores de módulos nativos una Node API estable.

  • Ayudar a formar y liderar el grupo de trabajo de seguridad para asegurarnos de tener todos los procesos bien documentados para versiones de seguridad y de que los CVE se asignen de manera uniforme.

  • Trabajar de manera activa con la comunidad en herramientas de diagnóstico. Por ejemplo, hemos contribuido con el informe de nodos y aportamos en los primeros trabajos de llnode para ayudar a los clientes a encontrar y a corregir problemas de manera rápida y eficiente.

  • Formar el equipo de mantenimiento de paquetes para crear soluciones a problemas que enfrentan nuestros usuarios cuando dependen de una cantidad de paquetes clave dentro del ecosistema.

Además de estas contribuciones al propio proyecto de Node.js, también trabajamos para:

  • Permitir que los desarrolladores se enfoquen en su código al tiempo que implementan en Cloud Foundry, Docker y Kubernetes y obtienen la calidad de servicio (monitoreo, estado, etc.) requeridas para las implementaciones de producción. Para obtener más información, mira este video.

  • Brinda soporte a nivel empresarial para Node.js, el cual incluye el tiempo de ejecución de Node.js de open-source y paquetes clave como LoopBack y Express.

  • Lanza CloudNativeJS.io, que incluye recursos para que los desarrolladores diseñen e implementen aplicaciones de Node.js nativas de la nube a través de contenedores de Docker y la organización de Kubernetes.

  • Lanza LoopBack 4 para permitir a los desarrolladores crear API rápidamente para exportar datos de sus fuentes de datos existentes.

El futuro de IBM + Node

Como puedes ver, IBM ha participado profundamente de la comunidad Node.js y nos entusiasma hacia dónde se dirige la comunidad Node.js. Planeamos patrocinar y exponer en eventos clave de Node, y continuar impulsando la adopción y antigüedad en el proyecto.

Continuaremos impulsando la gestión abierta en la fusión de Node.js y JS Foundations, lo cual consideramos que dará como resultado un ecosistema de JavaScript más sólido y dinámico. Lee nuestros pensamientos aquí.