side que node javascript node.js serverside-javascript server-side

javascript - que - ¿Por qué y cuándo usar Node.js?



node.js server-side javascript que es (4)

Cuando eres (o incluso si no eres) un entusiasta de JavaScript, puedes / deberías usar Node.js por varias razones:

  • Es un marco de bajo nivel, liviano e independiente que aporta potencia de JavaScript al entorno del lado del servidor.
  • Si desea una mayor abstracción de nivel superior, existe una gran cantidad de módulos y el npm paquetes npm donde puede encontrar una amplia gama de aplicaciones listas para usar.
  • Proceso de desarrollo rápido / sin obstáculos: por ejemplo, no necesita toneladas de herramientas adicionales para comenzar a escribir cosas serias.
  • Gran comunidad de fuente abierta llena de entusiastas y personas con mucho talento.
  • Creado para crear aplicaciones orientadas a la web en tiempo real, ahí es donde está el futuro (cercano).

Posible duplicado:
¿Cómo decidir cuándo usar Node.js?

Lo siento si soy un poco ambiguo, pero trato de entender las ventajas reales de usar Node.js lugar de otro lenguaje del lado del servidor.

Soy un entusiasta de JavaScript, así que probablemente jugaré con Node.js, pero quiero saber si debería usarlo en mis proyectos.


Las dos ventajas más citadas son:

  • JavaScript es tanto del lado del servidor como del lado del cliente. Hay menos cosas que aprender, menos cambio de contexto y la capacidad de reutilizar el código en ambos lados.
  • Utiliza E / S sin bloqueo y el motor V8 de Chrome para proporcionar servidores rápidos y altamente escalables.

Para mí, sin embargo, la parte más interesante es la cantidad de actividad que ocurre en esta área. Hay muchas ideas muy interesantes en desarrollo para el nodo: asegúrese de consultar la lista de módulos de Node.js.


Personalmente, lo más probable es que use Node.js cuando:

  • Quiero escribir un servidor que no use el protocolo HTTP .
  • Estoy creando prototipos de una implementación de servidor.
  • Estoy escribiendo un servidor que no espera mucho tráfico (aunque nunca he perfilado una implementación de Node.js junto a, digamos, una implementación de C ++ que coincida).
  • Quiero ser activo en la comunidad (que aparentemente está creciendo bastante rápido).

Se necesita una construcción de I/O no bloqueante asíncrona en la parte superior del V8 .

Así que tenemos toda la ganancia de rendimiento de V8, que es el intérprete de JavaScript de Google. Dado que la carrera de rendimiento de JavaScript aún no ha finalizado, puede esperar que Google actualice constantemente el rendimiento en V8 (gratis).

Tenemos E / S sin bloqueo que es simplemente la forma correcta de hacer E / S. Esto se basa en un ciclo de eventos y utiliza devoluciones de llamada asíncronas para su E / S.

Le brinda herramientas útiles, como la creación de un servidor HTTP, la creación de un servidor TCP , el manejo de E / S de archivos.

Es una plataforma de alto rendimiento y bajo nivel para hacer cualquier tipo de E / S sin tener que escribir todo en C desde cero. Y se escala muy bien debido a la E / S sin bloqueo.

Por lo tanto, desea utilizar Node.js si desea escribir aplicaciones de gran escala y eficientes utilizando E / S sin bloqueo, al mismo tiempo que tiene un lenguaje de scripting de alto nivel disponible. Si es necesario, puede optimizar las partes de su código a mano escribiendo extensiones en C.

Hay muchas bibliotecas de SO para Node.js que le darán abstracciones, como Express.js y now .

No desea utilizar Node.js si desea que las abstracciones de alto nivel (lentas) hagan todo por usted. No desea utilizar Node.js si desea RAD . No desea utilizar Node.js si no puede permitirse el lujo de confiar en una plataforma joven, ya sea porque tiene que escribir grandes piezas de código para hacer cosas que están integradas en otros marcos o porque no puede usar Node .js, porque la API aún no es estable o es una versión sub 1.0.