Avisar de contenido inadecuado

Ventajas de utilizar Node.js

{
}

 TAGS:

Hace unos días hicimos, Carlos Villuendas y yo, un workshop interno en Softonic.com sobre Node.js.

En este workshop explicamos qué es Node.js, las ventajas de la programacion asíncrona en el servidor, la gestion de paquetes con npm y cómo funcionan el require, module.exports y los listeners.

En un descanso que hicimos, pedí un poco de feedback sobre el workshop y el amigo Toni, como siempre buscando la aplicación en el mundo real, me dijo:

El workshop me está molando, pero no termino de ver la aplicación practica de todo esto. Es decir ¿que ventajas tiene utilizar Node.js frente a PHP por ejemplo? ¿Cuándo es adecuado utilizar Node.js?

Buena pregunta, no?

Vamos a ver si somos capaces de responderla en este post... 

¿Qué es Node.js?

Node.js es un entorno JavaScript de lado de servidor que utiliza un modelo asíncrono y dirigido por eventos. 

Igual que se utiliza Ruby o Python en el servidor, ahora también se puede utilizar Javascript. 

Node.js usa el motor de JavaScript V8 de Google: una maquina virtual (VM) tremendamente rápida y de gran calidad escrita por gente como Lars Bak, uno de los mejores ingenieros del mundo especializados en VMs. 

¿Cuándo es aconsejable utilizar Node.js?

Basicamente Node es adecuado cuando necesitas hacer muchas cosas al mismo tiempo, sobre todo muchas operaciones I/O (acceso a ficheros, bases de datos,...) a la vez.

Y es especialmente bueno para aplicaciones realtime, que necesitan mantener una conexión persistente entre el browser y el servidor (juegos online, chats, herramientas de colaboración, etc ). 

Si lo que necesitas es trabajo intensivo de CPU (codificacion de video, manipulación de imagen, etc) utilizar Node no supone ninguna ventaja

Más ventajas de utilizar Node.js

  1. Con Node puedes utilizar javascript como lenguaje de scripting en tu consola (como bash, perl, etc.)
  2. Está basado en eventos, asi que toda la filosofia asíncrona que ya utiizamos con AJAX en el cliente la podemos pasar al servidor.
  3. Te permite utilizar el mismo lenguaje (javascript) tanto en el cliente como en el servidor
  4. Muy buena gestion de paquetes gracias a NPM (si quieres hacer algo, probablemente  exista una librería/paquete que ya lo hace)
  5. Detras de Node hay una Comunidad enorme documentando, haciendo turoriales y creando nuevos modulos.
  6. Nos permite hacer en el servidor todo lo que necesitamos (acceso a ficheros, a bases de datos, conexiones de clientes.. )
 

Enlaces y mas:

  1. http://stackoverflow.com/questions/5062614/how-to-decide-when-to-use-nodejs
  2. http://codeofrob.com/entries/5-reasons-to-give-node.js-some-love.html
  3. http://www.quora.com/Node-js/Why-should-I-use-Node-js
  4. http://debuggable.com/posts/understanding-node-js
  5. http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/

 

¿Que te ha parecido el articulo?¿Alguna ventaja más de utilizar Node.js que quieras añadir? ¿Alguna desventaja? Esperamos vuestros comentarios

 
{
}

Comentarios Ventajas de utilizar Node.js

Node.js is specially javascript server language..................
Analizaremos más el tema del node.js
Tiene buena pinta. Creo que la evolución de php va por esos pasos.
Salu2
Muebles de Oficina Madrid
Hola. Quería presentaros nuetra gama de muebles de oficina madrid Tenemos todo sobre mobiliario hosteleria, mobiliario de oficina y estanterias. Precios de Fabrica y servimos a toda España
Visitarno y pedir presupuesto sin compromiso
yoly yoly 26/02/2013 a las 17:46
cada vez esta mejor y mas facil usar php, es algo que siempre hay que tener en cuenta a la hora de programar y diseñar!
saludos muy buen blog!
Cierto, hoy en día PHP puede empezar a usarlo cualquier persona requiriendo cada vez menos conocimientos de este lenguaje. Buen artículo.
Muy buena pinta tiene este artículo, examinaré Node.js en profundidad. Un saludo.
Hola buen articulo, aunque tengo par de preguntas, serviria node.js para mejorar el desempeño de un autocompletar (por ejempo un campo autocompletar de cuentas de correos donde digamos que existen unas 6000)? es decir al mantener la conexión abierta entiendo que por alli se reduciria aunque sea un poco de respuesta pero entonces me surge otra pregunta relacionada al mismo ejemplo, mencionas que es una MV muy rapida, podria ser mas rapida que php accediendo a BD (p.e. buscando sobre las 6000 direcciones de correo electrónico).
Mi última pregunta, sería una buena idea utilizar node.js en un caso como el de las votaciones de las respuestas de stackoverflow, que creo o al menos podria imlpementarse como un servicio web invocado desde jquery.
Muchas gracias de antemano por tu respuesta y sientete libre de añadir cualquier otra información que consideres prudente en el caso, ya que estoy haciendome una idea en mi cabeza de todos (al menos muchos) los casos posibles donde puede ser buena idea utilizar node.js
Muy bueno el artículo, muchas gracias por compartirlo, me ayudó bastante, saludos

Deja tu comentario Ventajas de utilizar Node.js

Identifícate en OboLog, o crea tu blog gratis si aún no estás registrado.

Avatar de usuario Tu nombre