507 votos

¿Qué es Node.js?

No estoy totalmente de conseguir lo Node.js es todo acerca de. Tal vez es porque yo soy principalmente una web basada en el negocio de los desarrolladores de aplicaciones. ¿Qué es y cuál es su uso?

Mi entendimiento es que:

  1. El modelo de programación es controlado por eventos, especialmente la forma en que se maneja de e/S.
  2. Se utiliza JavaScript y el parser es V8.
  3. Puede ser fácilmente utilizado para crear concurrente de aplicaciones de servidor.

Son mis entendimientos correcto? Si sí, entonces ¿cuáles son los beneficios de evented de e/S, es sólo más de la concurrencia cosas? También, es la dirección de Node.js para convertirse en un marco como, basado en JavaScript (V8) basado en el modelo de programación?

213voto

postfuturist Puntos 9836

Creo que las ventajas son:

  1. Desarrollo Web en un lenguaje dinámico (JavaScript) en una máquina virtual que es increíblemente rápido (V8). Es mucho más rápido que el de Ruby, Python o Perl.

  2. Capacidad para gestionar miles de conexiones simultáneas con una carga mínima en un único proceso.

  3. JavaScript es perfecto para bucles de eventos con la primera función de la clase de los objetos y de los cierres. La gente ya sabe cómo usarlo de esta manera después de haberlo usado en el navegador para responder a eventos iniciados por el usuario.

  4. Un montón de gente ya sabe JavaScript, incluso las personas que no tienen la pretensión de ser programadores. Es sin duda el más popular lenguaje de programación.

  5. El uso de JavaScript en un servidor web, así como el navegador reduce la impedancia de falta de coincidencia entre los dos entornos de programación que se pueden comunicar las estructuras de datos a través de JSON que funcionan de la misma en ambos lados de la ecuación. Duplicado del formulario de validación de código puede ser compartido entre el servidor y el cliente, etc.

86voto

rfunduk Puntos 15267

V8 es una implementación de JavaScript. Esto le permite ejecutar JavaScript independiente de las aplicaciones (entre otras cosas).

Node.js simplemente es una biblioteca escrita para V8 que hace evented I/O. Este concepto es un poco más complicado de explicar, y estoy seguro de que alguien va a responder con una explicación mejor que yo... lo esencial es que en lugar de hacer alguna entrada o de salida y a la espera de lo que suceda, usted simplemente no esperar a que termine. Así, por ejemplo, pedir la última edición de tiempo de un archivo:

// Pseudo code
stat( 'somefile' )

Que podría tomar un par de milisegundos, o puede tardar segundos. Con evented I/O de simplemente disparar la solicitud y, en lugar de esperar alrededor de adjuntar una devolución de llamada que se ejecuta cuando la solicitud de los acabados:

// Pseudo code
stat( 'somefile', function( result ) {
  // Use the result here
} );
// ...more code here

Esto hace que se parece mucho a la de código JavaScript en el navegador (por ejemplo, con Ajax funcionalidad de estilo).

Para obtener más información, consulte el artículo Node.js es realmente emocionante que fue mi introducción a la biblioteca/plataforma... me pareció bastante buena.

36voto

Asif Mushtaq Puntos 7943

Node.js es un código abierto herramienta de línea de comandos integradas para el lado del servidor de código JavaScript. Usted puede descargar un archivo tar, compilar e instalar la fuente. Esto le permite ejecutar los programas de JavaScript.

El código JavaScript se ejecuta por el V8, un motor JavaScript desarrollado por Google que se utiliza en Chrome navegador. Utiliza una API de JavaScript para acceder a la red y el sistema de archivos.

Es popular por su rendimiento y la capacidad de realizar operaciones en paralelo.

Comprensión node.js es la mejor explicación de node.js me he encontrado hasta ahora.

Siguientes son algunos buenos artículos sobre el tema.

13voto

Fire Crow Puntos 2273

Los cierres son una manera de ejecutar código en el contexto en que fue creada.

Lo que esto significa para concurency es que usted puede definir las variables, a continuación, iniciar un desbloqueo de I/O función, y enviarlo a una función anónima para su devolución de llamada.

Cuando se complete la tarea, la función de devolución de llamada se ejecutará en el contexto de las variables, este es el cierre.

La razón de que los cierres son tan buenas para la escritura de aplicaciones con bloqueos de e/S es que es muy fácil de manejar el contexto de las funciones que se ejecutan de forma asíncrona.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X