JavaScript es un sólo un lenguaje de programación del lado del cliente que se ejecuta en el navegador, ¿verdad? . Ya no másNode.js es una forma de ejecutar JavaScript en el servidor; pero es mucho más también. Si usted está interesado en el desarrollo web realmente debe saber un poco acerca de node.js y por qué está haciendo olas en la comunidad.
¿Qué es Node.js?
Node.js es una interfaz para el tiempo de ejecución de JavaScript V8 ( el intérprete súper rápido de JavaScript) que se ejecuta en el navegador Chrome.
Como suele suceder, también puede descargar V8 e incrustarlo en cualquier cosa pues node.js NO es un servidore Web. JavaScript es después de todo, sólo un lenguaje de programación y no hay nada que diga que no se podría utilizar en un servidor, así como en el navegador del usuario.
Lo constituye una típica pila servidor LAMP, tiene un servidor web Apache subyacente o Nginx, con PHP que se ejecuta en la parte superior de la misma. Cada nueva conexión con un servidor tradicional genera un nuevo hilo, y es muy fácil de perder rápidamente el rendimiento o para un sitio para “bajar” – la única manera de apoyar a más usuarios que son para añadir más servidores por lo que simplemente no escalan bien. Con Node.js , este no es el caso.
No hay Apache para escuchar las conexiones entrantes y devolver los códigos de estado HTTP – usted necesita para manejar esa arquitectura servidor central a ti mismo. Afortunadamente, hay módulos para hacer esto más fácil, pero todavía puede ser un poco abrumador cuando se empieza. El resultado, sin embargo, es una aplicación web de alto rendimiento.
var http = require ( "http" ) ;
http . createServer ( function ( request , response ) {
response . writeHead ( 200 , {
'Content-Type' : 'text/plain'
} ) ;
response . write ( 'Hello ! Mundo " ) ;
respuesta . extremo ( ) ;
} ) . escuchar ( 8080 ) ;
consola . log ( "! Server que se ejecuta" ) ;
Vamos a tratar de entender este tozo de código.
En primer lugar, estamos incluyendo el módulo http en el proyecto. Entonces estamos creando un servidor y que pasa en una función anónima como un parámetro – esta función se llama para cada nueva conexión que ha hecho.
Tiene dos argumentos - petición , que contiene los parámetros de la petición por parte del usuario; y la respuesta , lo que vamos a utilizar para enviar las cosas de nuevo.
A continuación, estamos utilizando el objeto de respuesta puede escribir un encabezado de nuevo al usuario con el código de respuesta HTTP 200 (“ok”) y el tipo de contenido, escribir un “Hello World!” mensaje, y finaliza la respuesta.
Por último, le decimos al servidor para que escuche en el puerto 8080 para las solicitudes entrantes, y la salida de un mensaje rápido a la consola (la línea de comandos) para hacernos saber que se está ejecutando. Si quiere probar en realidad esto por sii mismo, guardar el código anterior como test.js , descargar el instalador de nodo , y de la ejecución de línea de comandos -
prueba de nodo js
Abra un navegador y vaya a localhost: 8080 para ver a su aplicación de prueba! Ahora debería tener una pequeña idea de cómo funciona ese código de forma asíncrono en conjunto, con los modelos de eventos impulsado (si usted es nuevo en JavaScript, el concepto de pasar alrededor de funciones como argumentos a otras funciones es, probablemente, un poco extraño.)
¿Por qué utilizar Node.js?
En primer lugar, para el rendimiento y la escalabilidad. Node es rápido. Eso es un requisito muy importante cuando eres un start-up tratando de hacer que la próxima gran cosa y quiere asegurarse de que puede escalar rápidamente, para hacer frente a una afluencia de usuarios a tu sitio.
Node es también perfecta para ofrecer una API REST - un servicio web que tiene unos parámetros de entrada y pasa un poco de datos de nuevo – la manipulación de datos sencillo y sin una gran cantidad de cálculos.
Node puede manejar miles de estos al mismo tiempo en que PHP acaba de derrumbarse. Beneficios de rendimiento y escalabilidad a un lado, hay una buena probabilidad de que usted ya sabe algo de JavaScript, por lo que ¿por qué molestarse en aprender un nuevo lenguaje como PHP? Y entonces – está la emoción de aprender algo nuevo y relativamente desconocido. Usted sabe cuando algo nuevo llega y entonces llega a ser tan omnipresente que no se arrepiente de su aprendizaje anterior, siempre jugando catchup? No haga eso esta vez. Node va a ser grande.
Desventajas
Como la mayoría de las nuevas tecnologías, que no es tan fácil de implementar Node en los hosts existentes. Si usted tiene un alojamiento web compartido, no sólo tiene que cargar una aplicación de nodo y esperar que funcione. VPS y servidores dedicados están en mejor posición – se puede instalar el Nodo en ellos. Aún más fácil es usar un servicio escalable como Heroku, que es completamente libre para desarrollar su sitio – usted sólo tendrá que pagar cuando se necesita más recursos.
Por otro lado, es muy fácil de instalar nodo local en su Windows, Mac o Linux PC y comenzar a desarrollar de inmediato – sólo la cabeza de Descarga Nodo . También es importante tener en cuenta que el Nodo no es simplemente un reemplazo para Apache – aplicaciones web existentes no son compatibles, y que va a trabajar con eficacia a partir de cero . (aunque hay una gran cantidad de marcos por ahí para ayudarle con características comunes)
Otra desventaja importante nodo es que es todavía en las primeras etapas de desarrollo, lo que significa algunas características pueden cambiar según avanza el desarrollo. De hecho, si nos fijamos en la documentación , que incluye un índice de estabilidad, que muestra cómo el uso riesgoso de cada función está actualmente.
Usted sabe – nunca ha habido un momento más emocionante para ser un desarrollador web.Con los servicios web abiertos y el intercambio de datos, es más fácil que nunca para hacer algoi mpresionante .
Por ultimo es posible que también desee una buena puesta a tierra de la biblioteca de Javascript jQuery por la parte delantera.
Fuente aqui