Node.js


De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Node.js es una de código abierto , multiplataforma , de back-end JavaScript entorno de ejecución que se ejecuta en el motor V8 y ejecuta el código JavaScript fuera de un navegador web . Node.js permite a los desarrolladores usar JavaScript para herramientas de línea de comando de escritura y de secuencias de comandos del lado del servidor -Running secuencias de comandos del lado del servidor para producir la página web dinámica el contenido antes de que la página se envía al navegador web del usuario. En consecuencia, Node.js representa un paradigma de "JavaScript en todas partes", [6] unifica la aplicación web desarrollo en torno a un solo lenguaje de programación, en lugar de diferentes lenguajes para scripts del lado del servidor y del lado del cliente.

Aunque .jses la extensión de nombre de archivo estándar para el código JavaScript, el nombre "Node.js" no se refiere a un archivo en particular en este contexto y es simplemente el nombre del producto. Node.js tiene una arquitectura basada en eventos capaz de realizar E / S asincrónicas . 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 de Node.js fue gobernado anteriormente por la Fundación Node.js, [8] y ahora se ha fusionado con la Fundación JS para formar la Fundación OpenJS , que es facilitada por el programa de Proyectos Colaborativos de la Fundación Linux . [9]

Los usuarios corporativos del software Node.js incluyen GoDaddy , [10] Groupon , [11] IBM , [12] LinkedIn , [13] [14] Microsoft , [15] [16] Netflix , [17] PayPal , [18] [ 19] Rakuten , SAP , [20] Voxer , [21] Walmart , [22] Yahoo! , [23] y Amazon Web Services . [24]

Historia

Ryan Dahl, creador de Node.js, en 2010

Node.js fue escrito inicialmente por Ryan Dahl en 2009, [25] aproximadamente trece años después de la introducción del primer entorno JavaScript del lado del servidor, LiveWire Pro Web de Netscape . [26] La versión inicial solo admitía Linux y Mac OS X. Su desarrollo y mantenimiento fue dirigido por Dahl y más tarde patrocinado por Joyent . [27]

Dahl criticó las posibilidades limitadas del servidor web más popular en 2009, Apache HTTP Server , para manejar muchas conexiones concurrentes (hasta 10,000 y más) y la forma más común de crear código (programación secuencial), cuando el código bloqueaba el proceso completo o múltiples pilas de ejecución implícitas en el caso de conexiones simultáneas. [28]

Dahl demuestra el proyecto en la inauguración JSConf Europea el 8 de noviembre de 2009. [29] [30] [31] Node.js combina Google 's V8 motor de JavaScript, un bucle de eventos , y un bajo nivel de E / S API . [32]

En enero de 2010, se introdujo un administrador de paquetes para el entorno Node.js llamado npm . [33] El administrador de paquetes facilita que los programadores publiquen y compartan el código fuente de los paquetes Node.js y está diseñado para simplificar la instalación, actualización y desinstalación de paquetes. [32]

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

En enero de 2012, Dahl se hizo a un lado y promovió a su compañero de trabajo y creador de npm Isaac Schlueter para que gestionara el proyecto. [35] En enero de 2014, Schlueter anunció que Timothy J. Fontaine lideraría el proyecto. [36]

En diciembre de 2014, Fedor Indutny inició io.js, una bifurcación de Node.js. Debido al conflicto interno sobre la gobernanza de Joyent, io.js se creó como una alternativa de gobernanza abierta con un comité técnico independiente. [37] [38] A diferencia de Node.js, [39] los autores planearon mantener io.js actualizado con las últimas versiones del motor de JavaScript V8 de Google. [40]

En febrero de 2015, se anunció la intención de formar una Fundación Node.js neutral. En junio de 2015, las comunidades Node.js e io.js votaron a favor de trabajar juntas bajo la Fundación Node.js. [41]

En septiembre de 2015, Node.js v0.12 e io.js v3.3 se fusionaron nuevamente en Node v4.0. [42] Esta fusión trajo las características de V8 ES6 a Node.js y un ciclo de lanzamiento de soporte a largo plazo. [43] A partir de 2016, el sitio web io.js recomienda que los desarrolladores vuelvan a Node.js y que no se planeen más lanzamientos de io.js debido a la fusión. [44]

En febrero de 2016, se lanza Node.js 0.10.42. [45]

En 2019, JS Foundation y Node.js Foundation se fusionaron para formar la OpenJS Foundation .

Visión general

Node.js permite la creación de servidores web y herramientas de red usando JavaScript y una colección de "módulos" que manejan varias funcionalidades centrales. [29] [32] [46] [47] [48] 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 , flujos de datos y otras funciones básicas. [32] [47] [49]Los módulos de Node.js utilizan una API diseñada para reducir la complejidad de escribir aplicaciones de servidor. [32] [47]

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

Node.js se utiliza principalmente para crear programas de red como servidores web. [46] La diferencia más significativa entre Node.js y PHP es que la mayoría de las funciones en PHP se bloquean hasta que se completan (los comandos se ejecutan solo después de que los comandos anteriores terminan), mientras que las funciones de Node.js no son bloqueantes (los comandos se ejecutan al mismo tiempo o incluso en paralelo , [52] [53] y utilizar devoluciones de llamada para señalar finalización o falla). [46]

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). [54] El código fuente proporcionado también puede construirse en sistemas operativos similares a los admitidos oficialmente o ser modificado por terceros para admitir otros como NonStop OS [55] y servidores Unix .

Arquitectura de la plataforma

Node.js lleva la programación basada en eventos a los servidores web , lo que permite el desarrollo de servidores web rápidos en JavaScript. [32] Los desarrolladores pueden crear servidores escalables sin utilizar subprocesos , utilizando un modelo simplificado de programación dirigida por eventos que utiliza devoluciones de llamada para señalar la finalización de una tarea. [32] Node.js conecta la facilidad de un lenguaje de scripting (JavaScript) con el poder de la programación de red Unix. [32]

Node.js se construyó sobre el motor JavaScript V8 de Google , ya que era de código abierto bajo la licencia BSD . Es competente con los fundamentos de Internet como HTTP , DNS y TCP . [29] JavaScript también era un lenguaje muy conocido, lo que hacía que Node.js fuera accesible para la comunidad de desarrollo web . [29]

Soporte de la industria

Hay miles de bibliotecas de código abierto para Node.js, la mayoría de ellas alojadas en el sitio web de npm . Hay varias conferencias y eventos de 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 , Derby y muchos otros. [32] [56] También se han creado varios paquetes para interactuar con otros lenguajes o entornos de ejecución como Microsoft .NET . [57]

Los IDE de escritorio modernos proporcionan funciones de edición y depuración específicas para las aplicaciones Node.js. Dichos IDE incluyen Atom , Brackets , JetBrains WebStorm , [58] [59] Microsoft Visual Studio (con Node.js Tools para Visual Studio, [60] o TypeScript con definiciones de Node, [61] [62] [63] [64] ) NetBeans , [65] Nodeclipse Enide Studio [66] ( basado en Eclipse ) y Visual Studio Code . [67] [68]Ciertos IDE en línea basados ​​en la web también son compatibles con 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 , Joyent y otras.

Lanzamientos

Las nuevas versiones principales de Node.js se eliminan de la rama maestra de GitHub cada seis meses. Las versiones pares se cortan en abril y las versiones impares se cortan en octubre. Cuando se lanza una nueva versión impar, la versión par anterior se somete a una transición a Long Term Support (LTS), lo que le da a esa versión 18 meses de soporte activo a partir de la fecha en que se designa como LTS. Una vez que caducan estos 18 meses, una versión LTS recibe 12 meses adicionales de soporte de mantenimiento. Una versión activa recibe backports ininterrumpidos de cambios unas semanas después de que aterrizan en la versión actual. Una versión de mantenimiento recibe solo correcciones críticas y actualizaciones de documentación. [69] 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, denominado bucle de eventos .

Internos

Node.js usa libuv underhood para manejar eventos asincrónicos. Libuv es una capa de abstracción para la funcionalidad de red y sistema de archivos en sistemas basados en Windows y POSIX , como Linux, macOS , OSS en NonStop y Unix.

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 del subproceso . [70] El diseño de compartir un solo hilo entre todas las solicitudes que usan el patrón de observador está destinado a construir aplicaciones altamente concurrentes, donde cualquier función que realice E / S debe usar una devolución de llamada . Para acomodar el ciclo de eventos de un solo subproceso, Node.js usa la biblioteca libuv , que, a su vez, usa un grupo de subprocesos de tamaño fijo que maneja algunas de las operaciones de E / S asíncronas sin bloqueo. [7]

Un grupo de subprocesos maneja la ejecución de tareas paralelas en Node.js. La llamada de función de subproceso principal envía tareas a la cola de tareas compartidas, que los subprocesos del grupo de subprocesos extraen y ejecutan. Las funciones inherentemente no bloqueantes del sistema, como la conexión en red, se traducen en sockets no bloqueantes del lado del kernel, mientras que las funciones del sistema de bloqueo inherente, como la E / S de archivos, se ejecutan de forma bloqueada 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, despierta 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 al aumentar la cantidad de núcleos de CPU de la máquina en la que se está ejecutando sin usar un módulo adicional, como clúster, [52] StrongLoop Process Manager, [71] o pm2. [72] 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. [73] 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 requerida ]

V8

V8 es el motor de ejecución de JavaScript que se creó inicialmente para Google Chrome . Luego fue de código abierto por Google en 2008. Escrito en C ++ , V8 compila 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 administración de programas Node.js de terceros. Los paquetes en el registro npm pueden variar desde bibliotecas auxiliares simples como Lodash hasta ejecutores de tareas como Grunt .

API unificada

Node.js se puede combinar con un navegador, una base de datos que admita datos JSON (como Postgres , [74] MongoDB o CouchDB ) y JSON para una pila de desarrollo de JavaScript unificada. Con la adaptación de lo que eran esencialmente patrones de desarrollo del lado del servidor, como MVC , MVP , MVVM , etc., Node.js permite la reutilización del mismo modelo e interfaz de servicio entre el lado del cliente y el lado del servidor.

Bucle de eventos

Node.js se registra en el sistema operativo para que el sistema operativo le notifique las conexiones y emita una devolución de llamada. Dentro del tiempo de ejecución de Node.js, cada conexión es una pequeña asignación de montón . Tradicionalmente, los procesos o subprocesos de SO relativamente pesados ​​manejaban cada conexión. Node.js usa un bucle de eventos para la escalabilidad, en lugar de procesos o subprocesos. [75] A diferencia de otros servidores controlados por eventos, el bucle de eventos de Node.js no necesita ser llamado explícitamente. En su lugar, 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 para realizar.

WebAssembly

Node.js es compatible con WebAssembly y, a partir del Nodo 14, tiene soporte experimental de 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 ++. [76] Los módulos pueden cargarse directamente en la memoria y ejecutarse desde el entorno JS como simples módulos CommonJS. La implementación de la 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. [76]Dado que la plataforma Node.js evoluciona constantemente, la compatibilidad de la API está sujeta a cambios y, en ocasiones, puede romperse con una nueva versión (como consecuencia, los módulos deben compilarse con versiones específicas de Node.js para que funcionen correctamente). Para abordar el problema, los terceros han introducido envoltorios С / С ++ de código abierto en la parte superior de la API que alivian parcialmente el problema. Simplifican las interfaces pero, como efecto secundario, también pueden introducir una complejidad con la que tienen que lidiar los encargados de mantenimiento. Aunque la funcionalidad principal de Node.js reside en una biblioteca incorporada 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 C ++ apropiado y los encabezados necesarios (estos últimos generalmente se envían con Node.js): 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 de Node.js comenzaron a trabajar bajo la Fundación Node.js, que es independiente del 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 gobierno abierto 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 .js 'éxito. " [77]

El Comité Directivo Técnico de la Fundación Node.js (TSC) 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 en grupos de trabajo o comités. [78] El grupo LTS que gestiona las versiones con soporte 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, Documentation y Testing. [79]

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

Referencias

  1. ^ "node-v0.x-archive en GitHub" . Consultado el 2 de agosto de 2014 .
  2. ^ "Versión 16.7.0" . 17 de agosto de 2021 . Consultado el 23 de agosto de 2021 .
  3. ^ a b "nodejs / node" . GitHub .
  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 del 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 allá!)" . www.ibm.com .
  7. ↑ a b c Laurent Orsini (7 de noviembre de 2013). "Lo que necesita saber sobre Node.js" . leer escribir. Archivado desde el original el 7 de noviembre de 2013 . Consultado el 22 de enero de 2016 .
  8. ^ "Fundación Node.js - Node.js" . Consultado el 4 de julio de 2015 .
  9. ^ "Proyectos colaborativos de la Fundación Linux" . Consultado el 4 de julio de 2015 .
  10. ^ Por qué la oferta Nodejitsu de GoDaddy es excelente para Node.js , VentureBeat , 10 de febrero de 2015
  11. ^ Geitgey, Adam (30 de octubre de 2013). "I-Tier: desmantelar los monolitos" . Groupon. Archivado desde el original el 10 de septiembre de 2015 . Consultado el 30 de abril de 2014 .
  12. ^ "IBM Bluemix" . Consultado el 4 de julio de 2015 .
  13. ^ "Nunca creerás cómo LinkedIn construyó su nueva aplicación para iPad" . VentureBeat. 2 de mayo de 2012 . Consultado el 10 de mayo de 2012 .
  14. ^ "Node.js ultrarrápido: 10 consejos de rendimiento de LinkedIn Mobile" . Consultado el 7 de abril de 2015 .
  15. ^ Baxter-Reynolds, Matthew (9 de noviembre de 2011). "He aquí por qué debería estar feliz de que Microsoft esté adoptando Node.js" . The Guardian . Londres . Consultado el 10 de mayo de 2012 .
  16. ^ "WebMatrix - Los desarrolladores web front-end toman nota (ASP.NET, PHP, node.js y más)" . Consultado el 2 de agosto de 2014 .
  17. ^ Node.js in Flames 19 de noviembre de 2014
  18. ^ "Choque de titanes: lanzamiento del Kraken, NodeJS @paypal" . fluentconf.com. 28 de mayo de 2013 . Consultado el 11 de septiembre de 2013 .
  19. ^ "Todas estas empresas y sus productos en los que se utiliza Node.js" . Consultado el 2 de agosto de 2014 .
  20. ^ "SAP AppBuilder" . SAVIA. 10 de marzo de 2014. Archivado desde el original el 12 de febrero de 2014 . Consultado el 10 de octubre de 2018 .
  21. ^ The Node Ahead: JavaScript salta del navegador al futuro , The Register , 1 de marzo de 2011
  22. ^ "Por qué Walmart usa Node.js" . VentureBeat. 24 de enero de 2012 . Consultado el 10 de mayo de 2012 .
  23. ^ "Por qué realmente necesita (A) los servicios de desarrollo de node.js" . codebrahma. 10 de enero de 2018 . Consultado el 10 de enero de 2018 .
  24. ^ "Implemente una aplicación web Node.js: inicie y ejecute una aplicación web Node.js de alta disponibilidad en AWS" . amazon.com . Consultado el 3 de octubre de 2020 .
  25. ^ "¿Acerca de Node.js y por qué debería agregar Node.js a su conjunto de habilidades?" . Training.com . Training.com . Consultado el 23 de octubre de 2016 .
  26. ^ "Netscape abre ataque de intranet" . CNET . Consultado el 20 de abril de 2017 .
  27. ^ Ryan Dahl (9 de noviembre de 2010). "Joyent y Node" . Grupos de Google . Consultado el 5 de febrero de 2015 .
  28. ^ "¿PHP 7 vs Node.js? ¡Pueden ser socios, no competidores para un desarrollador!" . Consultado el 21 de diciembre de 2016 .
  29. ^ a b c d Sams Teach Yourself Node.js en 24 horas , Sams Publishing, 05-Sep-2012
  30. ^ "Ryan Dahl en JSConf EU 2009" .
  31. ^ "Ryan Dahl en JSConf EU 2009 Video" .
  32. ^ a b c d e f g h i Professional Node.js: Creación de software escalable basado en JavaScript , John Wiley & Sons, 01 de octubre de 2012
  33. ^ "Primeras versiones de npm" . GitHub . Consultado el 27 de julio de 2016 .
  34. ^ "Portar el nodo a Windows con la ayuda de Microsoft" . Consultado el 17 de abril de 2016 .
  35. ^ Dahl, Ryan. "Nuevo portero" . Consultado el 26 de octubre de 2013 .
  36. ^ Schlueter, Isaac (15 de enero de 2014). "La siguiente fase de Node.js" . Consultado el 21 de enero de 2014 .
  37. ^ Krill, Paul (4 de diciembre de 2014). "Por qué io.js decidió bifurcar Node.js" . JavaWorld . Consultado el 15 de diciembre de 2014 .
  38. ^ Preguntas y respuestas: ¿Por qué io.js decidió bifurcar Node.js , InfoWorld Tech Watch
  39. ^ Ben Noordhuis (12 de noviembre de 2014). "Problema 3692: la función de repente se vuelve indefinida" . Problemas con el motor JavaScript V8 . Consultado el 2 de febrero de 2015 .
  40. ^ Mikeal, Rogers (28 de enero de 2015). "Estado de io.js" . Consultado el 2 de febrero de 2015 .
  41. ^ "Fundación Node.js promueve 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 .
  42. ^ "La Fundación Node.js combina Node.js y io.js en una única base de código en una nueva versión" . Consultado el 28 de enero de 2016 .
  43. ^ "io.js y Node.js se fusionan" . 19 de mayo de 2015 . Consultado el 27 de junio de 2015 .
  44. ^ Io.js, JavaScript I / O , "io.js se ha fusionado de nuevo 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 superior ".
  45. ^ "Lanzamiento de Node.js" .
  46. ^ a b c Node.js para desarrolladores de PHP , O'Reilly Media, Inc., 2013
  47. ^ a b c Node.js Essentials , Packt Publishing, 10 de noviembre de 2015
  48. ^ Smashing Node.js: JavaScript en todas partes , John Wiley & Sons, 14 de agosto de 2012
  49. ^ Módulos , sitio web de Nodejs
  50. ^ "Lista de lenguajes que se compilan en JS" . Github .
  51. ^ CoffeeScript en Node.js . O'Reilly Media, Inc. 15 de abril de 2013. ISBN 9781449316846. Consultado el 17 de mayo de 2015 .
  52. ^ a b "Módulo de clúster de Node.js" . Consultado el 19 de octubre de 2017 .
  53. ^ "Módulo child_process de Node.js" . Consultado el 19 de octubre de 2017 .
  54. ^ Fundación, Node js. "Instalación de Node.js a través del administrador de paquetes" . Node.js . Consultado el 19 de mayo de 2019 .
  55. ^ "bomBora - Node.js para NonStop" . Infrasoft . Consultado el 14 de agosto de 2015 .
  56. ^ Guía de Express.js: el libro completo sobre Express.js , Azat Mardan, 28 de mayo de 2014
  57. ^ Edge.js cierra la brecha entre Node.js y .NET , TechRepublic, Tony Patton, 1 de julio de 2014
  58. ^ Node.js , WebStorm admite la integración con el entorno de ejecución de Node.js, Ayuda de WebStorm
  59. ^ Ejecución y depuración de Node.js , Ayuda de WebStorm
  60. ^ "Herramientas de Node.js para Visual Studio" . Consultado el 1 de febrero de 2016 .
  61. ^ soywiz / typescript-node-definition Tipificaciones de TypeScript para algunos módulos populares de node.js , GitHub
  62. ^ DefinitelyTyped , GitHub
  63. ^ El repositorio de definiciones de tipos de TypeScript de alta calidad Archivado el 3 de febrero de 2016 en Wayback Machine
  64. ^ ImageBoard, una aplicación Node.js + Express + MongoDB creada con TypeScript en el servidor , ejemplos de TypeScript
  65. ^ Krill, Paul (10 de noviembre de 2015). "Node.js ocupa un lugar central en NetBeans 8.1" . InfoWorld .
  66. ^ Nodeclipse, Enide - Desarrollo de Node.JS en Eclipse , sitio web de Nodeclipse
  67. ^ Hola Código de Visual Studio (con NodeJS) , Canal 9, Microsoft
  68. ^ Aplicaciones Node.js con VS Code , Visual Studio Code
  69. ^ a b c d e f g h "nodejs / Release" . GitHub . Consultado el 3 de mayo de 2018 .
  70. ^ "¡Node.js con 1 M de conexiones simultáneas!" . blog de caustik . 19 de agosto de 2012.
  71. ^ "Administrador de procesos StrongLoop" .
  72. ^ "GitHub - Unitech / pm2: Administrador de procesos de producción para aplicaciones Node.js con un balanceador de carga incorporado" . GitHub . 12 de junio de 2021.
  73. ^ Aleksander Kasiuk (22 de abril de 2015). "Sobre problemas con subprocesos en node.js - Procesamiento futuro" .
  74. ^ "PostgreSQL: Documentación: 9.4: Tipos JSON" . www.postgresql.org . Consultado el 20 de octubre de 2016 .
  75. ^ Acerca de Node.js , sitio web de Node.js
  76. ^ a b "Complementos de C ++ | Documentación de Node.js v14.12.0" . nodejs.org . Consultado el 26 de septiembre de 2020 .
  77. ^ Fundación, Node.js. "Fundación Node.js | Node.js" . nodejs.org . Consultado el 8 de marzo de 2017 .
  78. ^ "nodejs / TSC" . GitHub . Consultado el 8 de marzo de 2017 .
  79. ^ Fundación, Node.js. "Grupos de trabajo | Node.js" . nodejs.org . Consultado el 8 de marzo de 2017 .
  80. ^ 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

  • Hughes-Croucher, Tom; Wilson, Mike (abril de 2012), en funcionamiento con Node.js , O'Reilly Media , ISBN 978-1-4493-9858-3
  • Ornbo, George (septiembre de 2012), Sams Teach Yourself Node.js en 24 horas , SAMS Publishing , ISBN 978-0-672-33595-2
  • Teixeira, Pedro (octubre de 2012), Professional Node.js , John Wiley & Sons , ISBN 978-1-118-22754-1
  • Randal L. Schwartz y Aaron Newcomb (9 de enero de 2013). "Episodio 237: Node.js" . twit.tv/show/floss-weekly (Podcast). TWiT.tv . El evento ocurre a las 1:08:13 . Consultado el 9 de enero de 2013 .
  • Gackenheimer, Cory (octubre de 2013), Node.js Recipes: A Problem-Solution Approach , Apress , ISBN 978-1-4302-6058-5

enlaces externos

  • Página web oficial
  • nodo en GitHub

Obtenido de " https://en.wikipedia.org/w/index.php?title=Node.js&oldid=1041133047 "