Node.js para Mac
Entorno de ejecución de JavaScript escalable y basado en eventos.

Entorno de ejecución de JavaScript escalable y basado en eventos.
Como entorno de ejecución de JavaScript asíncrono y basado en eventos, Node.js está diseñado para crear aplicaciones de red escalables.
El diseño de Node.js es similar al de sistemas como EventMachine de Ruby y Twisted de Python, de los que se ha inspirado. Node.js lleva el modelo de eventos un paso más allá. Presenta un bucle de eventos como una construcción del entorno de ejecución en lugar de como una biblioteca. En otros sistemas, siempre hay una llamada bloqueante para iniciar el bucle de eventos. Normalmente, el comportamiento se define mediante funciones de devolución de llamada al principio de un script y, al final, se inicia un servidor mediante una llamada bloqueante como EventMachine::run(). En Node.js, no existe esa llamada para iniciar el bucle de eventos. Node.js simplemente entra en el bucle de eventos tras ejecutar el script de entrada. Node.js sale del bucle de eventos cuando ya no hay más funciones de devolución de llamada que ejecutar. Este comportamiento es similar al del JavaScript de los navegadores: el bucle de eventos queda oculto al usuario.
HTTP es un componente fundamental en Node.js, diseñado pensando en la transmisión de datos y la baja latencia. Esto hace que Node.js sea muy adecuado como base para una biblioteca o un marco de trabajo web.
El hecho de que Node.js se haya diseñado sin subprocesos no significa que no puedas aprovechar los múltiples núcleos de tu entorno. Se pueden generar procesos hijos utilizando nuestra API `child_process.fork()`, y están diseñados para facilitar la comunicación entre ellos. Sobre esa misma interfaz se basa el módulo `cluster`, que te permite compartir sockets entre procesos para habilitar el equilibrio de carga entre tus núcleos.

Comentarios
Valoraciones de usuarios