Empezar Con Node.js Un Framework En Java Script
Introduccion a Node!
Si alguna ves ha escuchado acerca de Node, o si ha leído algún artículo destacando lo increíble que es, tal vez se esté preguntando “¿Simplemente qué es Node.js?”. Tal vez usted todavía tenga preguntas sobre lo que es Node, después de leer su propia página principal. Node definitivamente no es para todos los programadores, pero podría ser la respuesta adecuada para algunos.
Este artículo tratará de responder a los que es Node.js, presentando un breve contexto de los problemas que resuelve, cómo funciona, cómo ejecutar una aplicación simple y, finalmente, dónde Node es una buena solución. No tratará cómo escribir una aplicación Node complicada ni será un tutorial minucioso sobre Node. Leer este artículo le ayudará a decidir si debe continuar aprendiendo sobre Node para utilizarlo en su propio negocio.
¿Qué es Node.js?
Node.js es un framework orientado a eventos e I/O para el motor Javascript V8 de Google en plataformas *Nix. Nos permite crear software de red escalabale, como un servidor web, es decir, nos permite crear software del lado del servidor utilizando al potente V8 y Javascript.
Node.js surge como una nueva forma de aprovechar la experiencia con Javascript, esta vez, del lado del servidor. Permitiendo generar software de manera sencilla (la gran mayoría de desarrolladores web conocen javascript y saben que les gustaría que el backend tuviera) recursos asíncronos y orientados a eventos. Node.js simplifica mucho estas tareas, proponiendo un modelo de ejecución y programación de gran potencia en la realización de servicios.
Modelo de ejecución
El desarrollador ve cada proceso del servidor Node.js como un único thread que sirve todas las peticiones que recibe, aquí todo es serializado en un único bucle de eventos, a diferencia de servidores como apache que generan un nuevo thread por cada petición, un servidor escrito en Node.js genera un nuevo evento dentro del mismo thread. Esto permite no preocuparse por memoria compartida u otros, disminuyendo el tiempo de desarrollo y los bugs.
El crear nuevos threads (como apache u otros) es un proceso mucho mas “pesado” para el S.O. que generar un nuevo evento en Node.js, es decir, la performance de un servidor web creado con Node.js cuando hay muchas peticiones es mejor que en un servidor normal.
Desde dentro Node.js contiene un pool autogestionado de thread, sobre el se lanzan todas las tareas que requieren algún tipo de I/O o alguna tarea bloqueante. Así, Node.js es monothread para el desarrollador, todas las llamadas que impliquen una cierta espera (procesos bloqueantes) son invocados de forma asíncrona, proporcionando un manejador de callback o un suscriptor a eventos.
Finalmente, los bloqueos de espera en el thread principal son eliminados, así todo ocurre en el mismo instante!
Node.js es actualmente una gran herramienta para generar sistemas de alto rendimiento, y gracias a la versatilidad y poder de Javascript, se ha convertido en una gran herramienta para el desarrollo de servicios de tiempo real.
Node.js ya tiene una gran cantidad de módulos que permiten hacer diversas tareas, existen desde frameworks, CMS, websockets, etc. Puedes encontrarlos
Pagina Oficial de Node.js
¿Qué problema resuelve Node?
La meta numero uno declarada de Node es “proporcionar una manera fácil para construir programas de red escalables”. ¿Cuál es el problema con los programas de servidor actuales? Hagamos cuentas. En lenguajes como Java™ y PHP, cada conexión genera un nuevo hilo que potencialmente viene acompañado de 2 MB de memoria. En un sistema que tiene 8 GB de RAM, esto da un número máximo teórico de conexiones concurrentes de cerca de 4.000 usuarios. A medida que crece su base de clientes, si usted desea que su aplicación soporte más usuarios, necesitará agregar más y más servidores. Desde luego, esto suma en cuanto a los costos de servidor del negocio, a los costos de tráfico, los costos laborales, y más. Además de estos costos están los costos por los problemas técnicos potenciales — un usuario puede estar usando diferentes servidores para cada solicitud, así que cualquier recurso compartido debe almacenarse en todos los servidores. Por todas estas razones, el cuello de botella en toda la arquitectura de aplicación Web (incluyendo el rendimiento del tráfico, la velocidad de procesador y la velocidad de memoria) era el número máximo de conexiones concurrentes que podía manejar un servidor.
Node resuelve este problema cambiando la forma en que se realiza una conexión con el servidor. En lugar de generar un nuevo hilo de OS para cada conexión (y de asignarle la memoria acompañante), cada conexión dispara una ejecución de evento dentro del proceso del motor de Node. Node también afirma que nunca se quedará en punto muerto, porque no se permiten bloqueos y porque no se bloquea directamente para llamados E/S. Node afirma que un servidor que lo ejecute puede soportar decenas de miles de conexiones concurrentes.
Entonces, ahora que usted tiene un programa que puede manejar cientos de miles de conexiones concurrentes, ¿qué puede usted construir en realidad con Node? Sería extraordinario si usted tuviera una aplicación Web que necesitara de toda esta cantidad de conexiones. Ese es uno de esos problemas del tipo “si usted tiene este problema, no es un problema”. Antes de pasar a ello, observemos cómo funciona Node y cómo está diseñado que se ejecute.
Características
- Usa un ciclo de eventos en lugar de threads, y es capaz de escalar millones de conexiones simultáneas.
- Cada operación I/O en Node.js es asincrónica, lo cuál significa que puede continuar trabajando con peticiones de entrada mientras otras operaciones I/O se está llevando a cabo.
- Node.js trabaja en el sistema basado en Unix, al igual que en Mc OS X, Linus y FreeBSD. Sin embargo, no trabaja en Windows, pero si eres usuario puedes instalar Ubuntu Linux usando Virtualbox, para hacerlo puedes leer el tutorial de instalación.
- Soporta protocolos TCP, DNS y HTTP.
Tecosystems te presenta 5 razones por las que debes interesarte por Node.js:
- Es un software absoluto.
- Es rápido.
- Es JavaScript.
- Está dirigido a problemas importantes.
- Tiene una comunidad de soporte.
EN Conclusión :
La pregunta que muchos de ustedes tenían al comienzo de este artículo “¿Simplemente qué es Node.js?” debería quedar respondida después de leerlo. Usted debe poder explicar en unas pocas frases sencillas y concisas lo que es Node.js. Si usted puede hacerlo, entonces estará un paso adelante de casi cualquier otro programador. Muchas personas con las que he hablado sobre Node han estado confundidas con respecto a lo que hace exactamente. Ellas están, y es comprensible, pensando en modo Apache — (— un servidor es una aplicación en la que usted descarga sus archivos HTML y todo funciona). Como la mayoría de los programadores están acostumbrados a Apache y a lo que hace, la forma más fácil de describir Node es comparándolo con Apache. Node es un programa que puede hacer todo lo que hace Apache (con algunos módulos), pero que también puede hacer mucho más, al ser una plataforma JavaScript extensible desde la cual usted puede construir.
En este artículo usted ha visto cómo Node cumple con sus metas de proporcionar servidores altamente escalables. Utiliza un motor JavaScript extremadamente rápido de Google, el motor V8. Utiliza un diseño Orientado por Eventos para mantener el código al mínimo y fácil de leer. Todos estos factores conducen a la meta deseada por Node — es relativamente fácil escribir una solución masivamente escalable.
Tan importante como entender lo que Node es, también es importante entender lo que Node no es. Node no es simplemente un reemplazo de Apache que instantáneamente vaya a hacer más escalable su aplicación Web PHP. Eso no podría estar más lejos de la verdad. Todavía es muy temprano en la vida de Node, pero está creciendo extremadamente rápido, la comunidad está involucrada muy activamente, se está creando una gran cantidad de módulos, y este producto en crecimiento podría estar en su negocio dentro de un año.
Compartir y Comentar es Agradecer ! xD
creaweb.co
Suscríbete al feed de arteyanos.com
Si te gustó este post, no te olvides de suscribirte al feed RSS para que recibas las actualizaciones mas recientes antes que nadie
únete a los 530 seguidores
es gratis y toma menos de 2 minutos




[...] s.parentNode.insertBefore(po, s); })(); Hace poco hablamos y dimos una introducción de que era Node.js y todos los beneficios de este framework para ampliar nuesto javascript de una forma alucionate [...]