Node.js está creando un gran revuelo y no son pocos los que arrugan la frente y se preguntan “¿qué demonios es Node.js?”. Y la simple respuesta de “javaScript en el servidor” no es algo que les haga comprender las distintas sinergias que hacen de Node.js una de las tecnologías más excitantes del momento.
Esta es la mejor introducción que he encontrado que no requiere de un master en ingeniería.
¿Qué es Node?
Node es Javascript. Lo mismo que ha estado corriendo en tu navegador desde hace años. Ahora es mejor, más rápido, más fuerte y está por todas partes.
Node es lo que te permite llevar Javascript, un lenguaje tradicionalmente ejecutado en el navegador, al servidor. ¿Y para que demonios necesitamos javaScript en el servidor? Sigue leyendo.
JavaScript no se va ir a ninguna parte
JavaScript es el lenguaje para hacer la web dinámica, situándose cada vez más cerca de ser algo así como el lenguaje de programación universal. “¿Y JQuery?” Sí, JQuery está por todas partes, pero no es más que una librería javaScript. “¿Y Flash?” Flash está muerto.
En cualquier aplicación web, javaScript va aparecer antes o después, tradicionalmente en la parte del front-end (parte con la que interactúa el usuario) y quizás usando otro lenguaje en la parte del servidor como php o python, que tal vez se encargue de comunicarse con alguna API utilizando otra tecnología. Es una gran cantidad de diferentes tecnologías que implementar y mantener. Node defiende la especialización al utilizar una sólo lenguaje para todo: javaScript.
Es increiblemente rápido
Node es un orden de magnitud más rápido que Ruby y Python. Lo que quiere decir que facilmente puede ser el lenguaje de alto nivel de mayor rendimiento dentro del contexto de un servidor web.
Node se beneficia directamente de todo el trabajo que Google, Apple y Microsoft han hecho en post de conseguir motores javascript de mayor rendimiento para sus exploradores, de manera que no sólo es rápido y extremadamente eficiente en condiciones de bajos recursos (netbook o ipad) sino que es fácil imaginarse que será mejor y más rápido en el futuro.
Esto es así porque Node se sustenta sobre el motor v8 que google usa para su explorador google chrome.
Tiempo real
Node utiliza un modelo asíncrono orientado a eventos. Esto significa que puede hacer un uso más eficiente de los recursos para hacer más cosas a la vez, convirtiéndose en un recurso ideal para muchas arquitecturas de aplicaciones web y una opción fácil e intuitiva para resolver problemas como la comunicación en tiempo real entre cliente y servidor.
Atención a lo que se puede hacer con HTML5 jugando con canvas y websockets:
Ingeniería más fácil y código más versátil
Que JavaScript está en todas partes significa que es mucho más fácil encontrar desarrolladores, especialmente los que están acostumbrados a desarrollar para el font-end que ahora pueden acceder al back-end sin cambiar de lenguaje. De la misma manera facilita la reutilización del código, evitando la redundancia y simplificando el mantenimiento de la aplicación.
Empieza ya
Se podría decir más, pero a menudo menos es más.
Si esta explicación ha sido suficiente para hacerte creer que Node.js es una cosa muy Cool, ahora necesitarás algunos ejemplos y recursos para empezar a trastear.
Lo complicado de arrancar es que tendrás que montarte tu propio servidor e instalar node. Yo lo he hecho usando una microinstancia con linux en Amazon Web Services (el primer año es gratuito si no te pasas con el consumo) aunque existen otras alternativas, como la de Microsoft azure, nodester… o siempre nos quedará localhost.
- Ejemplo muy gráfico: dibujando con canvas y websockets.
- Fantástico recopilatorio de material en inglés.
- Página oficial de Node.js.
- Fuente original del artículo.