stringtranslate.com

Nodo.js

Node.js es un entorno de ejecución de JavaScript de código abierto y multiplataforma que puede ejecutarse en Windows , Linux , Unix , macOS y más. Node.js se ejecuta en el motor JavaScript V8 y ejecuta código JavaScript fuera de un navegador web .

Node.js permite a los desarrolladores utilizar JavaScript para escribir herramientas de línea de comandos y secuencias de comandos del lado del servidor . La capacidad de ejecutar código JavaScript en el servidor se utiliza a menudo para generar contenido dinámico de la página web antes de que la página se envíe al navegador web del usuario. En consecuencia, Node.js representa un paradigma de "JavaScript en todas partes", [6] unificando el desarrollo de aplicaciones web en torno a un único lenguaje de programación, en lugar de utilizar diferentes lenguajes para la programación del lado del servidor versus del lado del cliente.

Node.js tiene una arquitectura basada en eventos capaz de realizar E/S asíncronas . Estas opciones de diseño tienen como objetivo optimizar el rendimiento y la escalabilidad en aplicaciones web con muchas operaciones de entrada/salida, así como para aplicaciones web en tiempo real (por ejemplo, programas de comunicación en tiempo real y juegos de navegador ). [7]

El proyecto de desarrollo distribuido Node.js estaba anteriormente gobernado por la Fundación Node.js, [8] y ahora se ha fusionado con la Fundación JS para formar la Fundación OpenJS . OpenJS Foundation es facilitada por el programa de Proyectos Colaborativos de la Fundación Linux . [9]

Historia

Ryan Dahl, creador de Node.js, en 2010
Rocket Turtle, la mascota oficial de Node.js desde febrero de 2024

Node.js fue escrito inicialmente por Ryan Dahl en 2009, [10] unos 13 años después de la introducción del primer entorno JavaScript del lado del servidor, LiveWire Pro Web de Netscape . [11] La versión inicial solo admitía Linux y Mac OS X. Su desarrollo y mantenimiento fueron dirigidos por Dahl y luego patrocinados por Joyent . [12]

Dahl criticó la capacidad limitada del servidor Apache HTTP para manejar muchas (más de 10.000) conexiones simultáneas, así como el paradigma de programación dominante de programación secuencial, en el que las aplicaciones podrían bloquear procesos completos o provocar la creación de múltiples pilas de ejecución para conexiones simultáneas. [13]

Dahl demostró el proyecto en la JSConf europea inaugural el 8 de noviembre de 2009. [14] [15] [16] Node.js combinó el motor JavaScript V8 de Google , un bucle de eventos y una API de E/S de bajo nivel . [17]

En enero de 2010, se introdujo un administrador de paquetes para el entorno Node.js llamado npm . [18] El administrador de paquetes permite a los programadores publicar y compartir paquetes Node.js, junto con el código fuente que lo acompaña, y está diseñado para simplificar la instalación, actualización y desinstalación de paquetes. [17]

En junio de 2011, Microsoft y Joyent implementaron una versión nativa de Node.js para Windows . [19] La primera compilación de Node.js compatible con Windows se lanzó en julio de 2011.

En enero de 2012, Dahl cedió la gestión del proyecto al creador de npm, Isaac Schlueter. [20] En enero de 2014, Schlueter anunció que Timothy J. Fontaine lideraría el proyecto. [21]

En diciembre de 2014, Fedor Indutny creó io.js, una bifurcación de Node.js creada debido a la insatisfacción con la gobernanza de Joyent como una alternativa de gobernanza abierta con un comité técnico separado. El objetivo era habilitar una estructura que fuera más receptiva a los aportes de la comunidad, incluida la actualización de io.js con las últimas versiones del motor JavaScript V8 de Google, divergiendo del enfoque de Node.js en ese momento. [22]

La Fundación Node.js, formada para reconciliar Node.js e io.js bajo un estandarte unificado, se anunció en febrero de 2015. [23] La fusión se realizó en septiembre de 2015 con Node.js v0.12 e io.js v3. 3 combinándose en Node v4.0. [24] Esta fusión incorporó las características de V8 ES6 a Node.js e inició un ciclo de lanzamiento de soporte a largo plazo. [25] En 2016, el sitio web io.js recomendó regresar a Node.js y anunció que no habría más lanzamientos de io.js, poniendo fin efectivamente a la bifurcación y solidificando el éxito de la fusión. [26]

En 2019, la Fundación JS y la Fundación Node.js se fusionaron para formar la Fundación OpenJS .

El 6 de septiembre de 2023, se lanzó Node.js 20.6.0. La actualización trajo la adición de soporte integrado para .envarchivos, la eliminación de marcas import.meta.resolve, la introducción de un nuevo registro API para enlaces de personalización de módulos y un nuevo enlace de inicialización. Además, el gancho de carga de personalización del módulo ahora es compatible con CommonJS, y los complementos de Node.js C++ han obtenido soporte experimental para cppgc (Oilpan), que es una biblioteca de recolección de basura de C++ para V8. [27]node:module

Marca

El logotipo de Node.js presenta un hexágono verde con bandas superpuestas para representar la naturaleza multiplataforma del tiempo de ejecución. [28] La tortuga cohete fue elegida como mascota oficial de Node.js en febrero de 2024 luego de un concurso de diseño. [29]

Descripción general

Node.js permite la creación de servidores web y herramientas de red utilizando JavaScript y una colección de "módulos" que manejan varias funcionalidades básicas. [14] [17] [30] [31] [32] Se proporcionan módulos para E/S del sistema de archivos , redes ( DNS , HTTP , TCP , TLS/SSL o UDP ), datos binarios (búferes), funciones de criptografía , datos transmisiones y otras funciones básicas. [17] [31] [33] Los módulos de Node.js utilizan una API diseñada para reducir la complejidad de escribir aplicaciones de servidor. [17] [31]

JavaScript es el único lenguaje que Node.js admite de forma nativa, pero hay muchos lenguajes de compilación en JS disponibles. [34] Como resultado, las aplicaciones Node.js se pueden escribir en CoffeeScript , [35] Dart , TypeScript , ClojureScript y otros.

Node.js se utiliza principalmente para crear programas de red, como servidores web. [30] La diferencia más significativa entre Node.js y PHP es que la mayoría de las funciones en PHP se bloquean hasta su finalización (los comandos se ejecutan solo después de que finalizan los comandos anteriores), mientras que las funciones de Node.js no bloquean (los comandos se ejecutan simultáneamente o incluso en paralelo ). [36] [37] [ ¿síntesis inadecuada? ] y utilizar devoluciones de llamada para señalar la finalización o el fallo). [30]

Node.js es oficialmente compatible con Linux , macOS y Microsoft Windows 8.1 y Server 2012 (y posteriores), [3] con soporte de Nivel 2 para SmartOS e IBM AIX y soporte experimental para FreeBSD . OpenBSD también funciona y hay versiones LTS disponibles para IBM i (AS/400). [38] El código fuente también puede estar construido en sistemas operativos similares que no son oficialmente compatibles, como NonStop OS [39] y servidores Unix .

Arquitectura de plataforma

Node.js permite el desarrollo de servidores web rápidos en JavaScript utilizando programación basada en eventos . [17] Los desarrolladores pueden crear servidores escalables sin utilizar subprocesos mediante el uso de un modelo simplificado que utiliza devoluciones de llamada para señalar la finalización de una tarea. [17] [ página necesaria ] Node.js conecta la facilidad de un lenguaje de secuencias de comandos (JavaScript) con el poder de la programación de redes Unix. [17]

Node.js se creó sobre el motor JavaScript V8 de Google, ya que era de código abierto bajo la licencia BSD y contiene soporte integral para protocolos fundamentales como HTTP , DNS y TCP . [14] La popularidad existente de JavaScript hizo que Node.js fuera accesible para la comunidad de desarrollo web . [14]

Apoyo a la industria

Hay miles de bibliotecas de código abierto para Node.js, la mayoría de las cuales están alojadas en el sitio web de npm. Se llevan a cabo múltiples conferencias y eventos para desarrolladores que apoyan a la comunidad Node.js, incluidos NodeConf, Node Interactive y Node Summit, así como una serie de eventos regionales.

La comunidad de código abierto ha desarrollado marcos web para acelerar el desarrollo de aplicaciones. Dichos marcos incluyen Connect, Express.js , Socket.IO , Feathers.js, Koa.js, Hapi.js, Sails.js , Meteor y Derby. [17] [40] También se han creado varios paquetes para interactuar con otros lenguajes o entornos de ejecución como Microsoft .NET . [41]

Los IDE de escritorio modernos proporcionan funciones de edición y depuración específicas para aplicaciones Node.js. Dichos IDE incluyen Atom , Brackets , JetBrains WebStorm , [42] [43] Microsoft Visual Studio (con Node.js Tools para Visual Studio, [44] o TypeScript con definiciones de Node [45] [46] [47] [48] ) , NetBeans , [49] Nodeclipse Enide Studio [50] ( basado en Eclipse ) y Visual Studio Code . [51] [52] Algunos IDE basados ​​en web también admiten Node.js, como Codeanywhere , Codenvy , Cloud9 IDE , Koding y el editor de flujo visual en Node-RED .

Node.js es compatible con varias plataformas de alojamiento en la nube, como Jelastic , Google Cloud Platform , AWS Elastic Beanstalk , Azure Web Apps y Joyent .

Lanzamientos

Las nuevas versiones importantes de Node.js se eliminan de la rama principal de GitHub cada seis meses. Las versiones pares se eliminan en abril y las impares se eliminan en octubre. Cuando se lanza una nueva versión impar, la versión par anterior pasa por una transición a soporte a largo plazo (LTS), lo que le otorga a esa versión 18 meses de soporte activo a partir de la fecha en que se designa como LTS. Una vez que expiren estos 18 meses, una versión LTS recibe 12 meses adicionales de soporte de mantenimiento. Una versión activa recibe informes de cambios continuos unas semanas después de que llegan a la versión actual. Una versión de mantenimiento recibe solo correcciones críticas y actualizaciones de documentación. [54] El Grupo de Trabajo LTS gestiona la estrategia y la política en colaboración con el Comité Directivo Técnico de la Fundación Node.js.

Detalles técnicos

Node.js es un entorno de ejecución de JavaScript que procesa las solicitudes entrantes en un bucle, llamado bucle de eventos .

Internos

Node.js usa libuv internamente para manejar eventos asincrónicos. Libuv es una capa de abstracción para la funcionalidad de redes y sistemas de archivos en sistemas basados ​​en Windows y POSIX , como Linux, macOS , OSS en NonStop y Unix. Node.js se basa en nghttp2 para soporte HTTP. A partir de la versión 20, Node.js utiliza la biblioteca ada que proporciona cumplimiento de URL WHATWG actualizado . A partir de la versión 19.5, Node.js utiliza la biblioteca simdutf para una rápida validación y transcodificación de Unicode. A partir de la versión 21.3, Node.js utiliza la biblioteca simdjson para un análisis JSON rápido.

Enhebrado

Node.js opera en un bucle de eventos de un solo subproceso , utilizando llamadas de E/S sin bloqueo , lo que le permite admitir decenas de miles de conexiones simultáneas sin incurrir en el costo del cambio de contexto de subprocesos . [57] El diseño de compartir un solo hilo entre todas las solicitudes que usan el patrón de observador está destinado a crear aplicaciones altamente concurrentes, donde cualquier función que realice E/S debe usar una devolución de llamada . Para dar cabida al bucle de eventos de un solo subproceso, Node.js utiliza la biblioteca libuv , que, a su vez, utiliza un grupo de subprocesos de tamaño fijo que maneja algunas de las operaciones de E/S asincrónicas sin bloqueo. [7]

Un grupo de subprocesos maneja la ejecución de tareas paralelas en Node.js. La llamada a la función del subproceso principal publica tareas en la cola de tareas compartida, que los subprocesos del grupo de subprocesos extraen y ejecutan. Las funciones del sistema inherentemente sin bloqueo, como las redes, se traducen en sockets sin bloqueo del lado del kernel, mientras que las funciones del sistema con bloqueo inherente, como la E/S de archivos, se ejecutan de forma bloqueante en sus propios subprocesos. Cuando un subproceso en el grupo de subprocesos completa una tarea, informa al subproceso principal de esto, que a su vez, se activa y ejecuta la devolución de llamada registrada.

Una desventaja de este enfoque de un solo subproceso es que Node.js no permite el escalado vertical aumentando el número de núcleos de CPU de la máquina en la que se ejecuta sin utilizar un módulo adicional, como un clúster, [36] StrongLoop Process Manager, [ 58] o pm2. [59] Sin embargo, los desarrolladores pueden aumentar el número predeterminado de subprocesos en el grupo de subprocesos libuv. Es probable que el sistema operativo (SO) del servidor distribuya estos subprocesos en varios núcleos. [60] Otro problema es que los cálculos de larga duración y otras tareas vinculadas a la CPU congelan todo el ciclo de eventos hasta su finalización. [ cita necesaria ]

V8

V8 es el motor de ejecución de JavaScript que se creó inicialmente para Google Chrome . Luego, Google lo abrió en 2008. Escrito en C++ , V8 compila el código fuente JavaScript en código de máquina nativo en tiempo de ejecución . [7] A partir de 2016, también incluye Ignition, un intérprete de código de bytes .

Gestión de paquetes

npm es el administrador de paquetes preinstalado para la plataforma del servidor Node.js. Instala programas Node.js desde el registro npm, organizando la instalación y gestión de programas Node.js de terceros.

Bucle de eventos

Node.js se registra en el sistema operativo para que el sistema operativo le notifique sobre eventos de E/S asíncronos, como nuevas conexiones. Dentro del tiempo de ejecución de Node.js, los eventos desencadenan devoluciones de llamadas y cada conexión se maneja como una pequeña asignación de montón . Tradicionalmente, procesos o subprocesos del sistema operativo relativamente pesados ​​manejaban cada conexión. Node.js utiliza un bucle de eventos para E/S simultáneas, en lugar de procesos o subprocesos. [61] A diferencia de otros servidores controlados por eventos, [ ¿cuáles? ] No es necesario llamar explícitamente al bucle de eventos de Node.js. En cambio, se definen devoluciones de llamada y el servidor ingresa automáticamente al bucle de eventos al final de la definición de devolución de llamada. Node.js sale del bucle de eventos cuando no hay más devoluciones de llamada por realizar.

Asamblea web

Node.js es compatible con WebAssembly y, a partir del Nodo 14, tiene soporte experimental para WASI , la interfaz del sistema WebAssembly.

Enlaces nativos

Node.js proporciona una forma de crear "complementos" a través de una API basada en C llamada N-API, que se puede utilizar para producir .nodemódulos cargables (importables) a partir de código fuente escrito en C/C++. [62] Los módulos se pueden cargar directamente en la memoria y ejecutar desde el entorno JS como módulos CommonJS simples. La implementación de N-API se basa en objetos internos C/C++ Node.js y V8 que requieren que los usuarios importen ( #include ) encabezados específicos de Node.js en su código fuente nativo. [62]

Como la API de Node.js está sujeta a cambios importantes a nivel binario, los módulos deben crearse y enviarse con versiones específicas de Node.js para que funcionen correctamente. Para solucionar el problema, terceros han introducido contenedores С/С++ de código abierto además de la API que alivian parcialmente el problema. Simplifican las interfaces, pero como efecto secundario también pueden introducir complejidad con la que tienen que lidiar los mantenedores. Aunque la funcionalidad principal de Node.js reside en una biblioteca integrada de JavaScript, los módulos escritos en C++ se pueden utilizar para mejorar las capacidades y el rendimiento de las aplicaciones.

Para producir dichos módulos es necesario tener un compilador de C++ apropiado y los encabezados necesarios (estos últimos generalmente se incluyen con Node.js), por ejemplo, gcc , clang o MSVC++ .

La N-API es similar a la interfaz nativa de Java .

Gestión del proyecto

En 2015, varias ramas de la gran comunidad Node.js comenzaron a trabajar bajo la Fundación Node.js, neutral respecto al proveedor. El propósito declarado de la organización "es permitir la adopción generalizada y ayudar a acelerar el desarrollo de Node.js y otros módulos relacionados a través de un modelo de gobernanza abierta que fomenta la participación, la contribución técnica y un marco para la administración a largo plazo por parte de un ecosistema invertido en Node. El éxito de .js." [63]

El Comité Directivo Técnico (TSC) de la Fundación Node.js es el órgano de gobierno técnico de la Fundación Node.js. El TSC es responsable del repositorio principal de Node.js, así como de los proyectos dependientes y adyacentes. Generalmente el TSC delega la administración de estos proyectos a grupos o comités de trabajo. [64] El grupo LTS que gestiona las versiones compatibles a largo plazo es uno de esos grupos. Otros grupos actuales incluyen Sitio web, Streams, Build, Diagnostics, i18n, Evangelism, Docker, Addon API, Benchmarking, Post-mortem, Intl, Documentación y Pruebas. [sesenta y cinco]

En agosto de 2017, un tercio de los miembros del TSC dimitieron debido a una disputa relacionada con el código de conducta del proyecto. [66]

Referencias

  1. ^ "node-v0.x-archive en GitHub". GitHub . Consultado el 2 de agosto de 2014 .
  2. ^ "Versión 21.7.1". 8 de marzo de 2024 . Consultado el 22 de marzo de 2024 .
  3. ^ ab "nodejs/nodo". GitHub . 13 de abril de 2022.
  4. ^ "nodo/LICENCIA en maestro". GitHub . Fundación Node.js. 17 de septiembre de 2018 . Consultado el 17 de septiembre de 2018 .
  5. ^ "La licencia MIT". Iniciativa de código abierto . 17 de septiembre de 2018 . Consultado el 17 de septiembre de 2018 .
  6. ^ gcuomo (24 de octubre de 2013). "JavaScript en todas partes y los tres amigos (¡Hacia el AZUL salvaje de allá!)". www.ibm.com . Archivado desde el original el 14 de noviembre de 2013 . Consultado el 24 de octubre de 2013 .
  7. ^ abc Laurent Orsini (7 de noviembre de 2013). "Lo que necesita saber sobre Node.js". leer y escribir.com . Consultado el 6 de febrero de 2022 .
  8. ^ "Fundación Node.js - Node.js". nodejs.org . Consultado el 4 de julio de 2015 .
  9. ^ "Proyectos colaborativos de la Fundación Linux". linuxfoundation.org . 4 de julio de 2015 . Consultado el 4 de julio de 2015 .
  10. ^ "Acerca de Node.js y ¿por qué debería agregar Node.js a su conjunto de habilidades?". Formación.com . 11 de septiembre de 2016. Archivado desde el original el 1 de abril de 2017 . Consultado el 23 de octubre de 2016 .
  11. ^ Personal, CNET News (15 de octubre de 1996). "Netscape abre un ataque a la intranet". CNET . Consultado el 20 de abril de 2017 .
  12. ^ Ryan Dahl (9 de noviembre de 2010). "Joyent y Nodo". Grupos de Google . Consultado el 5 de febrero de 2015 .
  13. ^ Garbar, Dzmitry. "¿PHP 7 vs Node.js? ¡Pueden ser socios, no competidores de un desarrollador!". belitsoft.com . Consultado el 21 de diciembre de 2016 .
  14. ^ abcd Sams Aprenda usted mismo Node.js en 24 horas, Sams Publishing, 5 de septiembre de 2012
  15. ^ Ubl, Malta (9 de septiembre de 2009). "JSConf.eu 2009, Berlín, Alemania". www.jsconf.eu . Consultado el 9 de septiembre de 2009 .
  16. ^ "Ryan Dahl: presentación original de Node.js". Archivado desde el original el 15 de diciembre de 2021, a través de www.youtube.com.
  17. ^ abcdefghi Professional Node.js: creación de software escalable basado en JavaScript, John Wiley & Sons, 1 de octubre de 2012
  18. ^ "Primeras versiones de npm". GitHub . Consultado el 27 de julio de 2016 .
  19. ^ Ryandahl (23 de junio de 2011). "Transferencia de nodo a Windows con la ayuda de Microsoft". nodejs.org . Consultado el 17 de abril de 2016 .
  20. ^ Dahl, Ryan. "Nuevo portero" . Consultado el 26 de octubre de 2013 .
  21. ^ Schlueter, Isaac (15 de enero de 2014). "La próxima fase de Node.js" . Consultado el 21 de enero de 2014 .
  22. ^ Preguntas y respuestas: Por qué io.js decidió bifurcar Node.js, InfoWorld Tech Watch
  23. ^ "La Fundación Node.js avanza en la colaboración comunitaria, anuncia nuevos miembros y gobernanza técnica ratificada". Archivado desde el original el 24 de junio de 2015 . Consultado el 4 de julio de 2015 .
  24. ^ "La Fundación Node.js combina Node.js e io.js en una única base de código en una nueva versión". nodejs.org . 14 de septiembre de 2015 . Consultado el 28 de enero de 2016 .
  25. ^ "io.js y Node.js se fusionan". medio.com . 19 de mayo de 2015 . Consultado el 27 de junio de 2015 .
  26. ^ Io.js, JavaScript I/O, "io.js se ha fusionado nuevamente con el proyecto Node.js. No habrá más versiones de io.js. Todas las funciones de io.js están disponibles en Node.js v4 y superiores."
  27. ^ "Lanzamientos anteriores". Nodo.js.
  28. ^ "Guía de marcas" (PDF) . Nodo.js. ​Fundación OpenJS . Consultado el 22 de marzo de 2024 .
  29. ^ "Node.JS en X:" Conoce a Rocket Turtle 👋"" . Consultado el 22 de marzo de 2024 .
  30. ^ abc Node.js para desarrolladores de PHP, O'Reilly Media, Inc., 2013
  31. ^ abc Node.js Essentials, Packt Publishing, 10 de noviembre de 2015
  32. ^ Smashing Node.js: JavaScript en todas partes, John Wiley & Sons, 14 de agosto de 2012
  33. ^ Módulos, sitio web de Nodejs
  34. ^ "Lista de lenguajes que se compilan en JS". Github .
  35. ^ CoffeeScript en Node.js. O'Reilly Media, Inc. 15 de abril de 2013. ISBN 9781449316846. Consultado el 17 de mayo de 2015 .
  36. ^ ab "Módulo de clúster de Node.js". nodejs.org . Consultado el 19 de octubre de 2017 .
  37. ^ "Módulo child_process de Node.js". nodejs.org . Consultado el 19 de octubre de 2017 .
  38. ^ Fundación, Nodo js. "Instalación de Node.js a través del administrador de paquetes". Nodo.js. ​Consultado el 19 de mayo de 2019 .
  39. ^ "bomBora - Node.js para NonStop". infrasoft.com.au . Infrasoft. Archivado desde el original el 11 de marzo de 2018 . Consultado el 14 de agosto de 2015 .
  40. ^ Guía de Express.js: el libro completo sobre Express.js, Azat Mardan, 28 de mayo de 2014
  41. ^ Edge.js cierra la brecha entre Node.js y .NET, TechRepublic, Tony Patton, 1 de julio de 2014
  42. ^ Node.js, WebStorm admite la integración con el entorno de ejecución de Node.js, Ayuda de WebStorm
  43. ^ Ejecución y depuración de Node.js, Ayuda de WebStorm
  44. ^ "Herramientas de Node.js para Visual Studio". microsoft.com . Consultado el 1 de febrero de 2016 .
  45. ^ soywiz/typescript-node-definitions Tipos de TypeScript para algunos módulos populares de node.js, GitHub
  46. ^ Definitivamente mecanografiado, GitHub
  47. ^ "El repositorio de definiciones de tipos TypeScript de alta calidad". definitivamentetyped.org . Archivado desde el original el 3 de febrero de 2016.
  48. ^ ImageBoard, una aplicación Node.js + Express + MongoDB creada con TypeScript en el servidor Archivado el 18 de mayo de 2019 en Wayback Machine , Ejemplos de TypeScript
  49. ^ Krill, Paul (10 de noviembre de 2015). "Node.js ocupa un lugar central en NetBeans 8.1". infoworld.com . InfoMundo . Consultado el 10 de noviembre de 2015 .
  50. ^ Nodeclipse, Enide - Desarrollo de Node.JS en Eclipse, sitio web de Nodeclipse
  51. ^ Hola Visual Studio Code (con NodeJS), Canal 9, Microsoft
  52. ^ Aplicaciones Node.js con código VS, código Visual Studio
  53. ^ "Lanzamientos". Nodo.js. ​23 de agosto de 2023.
  54. ^ abcdefghijkl "nodejs/Release". GitHub . Consultado el 3 de mayo de 2018 .
  55. ^ Adelanto de la fecha de vencimiento de Node.js 16, sitio web de Node.js
  56. ^ ab "Node.JS CODENAMES.md". GitHub . Consultado el 6 de septiembre de 2023 .
  57. ^ "¡Node.js con 1 millón de conexiones simultáneas!". El blog de Caustik . 19 de agosto de 2012.
  58. ^ "Gestor de procesos StrongLoop". fuerte-pm.io .
  59. ^ "GitHub - Unitech/pm2: administrador de procesos de producción para aplicaciones Node.js con un equilibrador de carga integrado". GitHub . 12 de junio de 2021.
  60. ^ Aleksander Kasiuk (22 de abril de 2015). "Sobre problemas con subprocesos en node.js: procesamiento futuro".
  61. ^ Acerca de Node.js, sitio web de Node.js
  62. ^ ab "Complementos de C++ | Documentación de Node.js v14.12.0". nodejs.org . Consultado el 26 de septiembre de 2020 .
  63. ^ Fundación, Node.js. "Fundación Node.js | Node.js". nodejs.org . Consultado el 8 de marzo de 2017 .
  64. ^ "nodejs/TSC". GitHub . Consultado el 8 de marzo de 2017 .
  65. ^ Fundación, Node.js. "Grupos de trabajo | Node.js". nodejs.org . Archivado desde el original el 27 de febrero de 2017 . Consultado el 8 de marzo de 2017 .
  66. ^ Whittaker, Zack, Después del colapso de la gobernanza, los líderes de Node.js luchan por su supervivencia , ZDNet, 25 de agosto de 2017

Otras lecturas

enlaces externos