En el streaming del domingo, en el aniversario de la comunidad, les platiqué sobre una sorpresa que tenía para ustedes que han formado la comunidad, y esto es que he decidido hacer una serie de tutoriales dedicados a tecnologías que están a la vanguardia del desarrollo.

Y es que si bien HTML5 es una tecnología creciendo constantemente, estudios indican que el 90% de los desarrolladores lo utilizan, lo cual es muestra de que HTML5 es el presente y el futuro de la web, entonces, ¿qué sigue de HTML5?

Una de las tecnologías que podrían marcar tendencia en unos cuantos meses (considerando lo rápido que crece el internet) es Node.js.

Puedes entra a la página de Node.js aquí:

¿Qué es Node.js?

Node.js trata del primer contacto de Javascript con el servidor, este framework nos permite crear un servidor donde Javascript es el lenguaje de backend, recordemos que hasta hoy Javascript siempre había sido el lenguaje del cliente (frontend) y nada más allá.

¿Para qué llevar Javascript al lado del servidor?

Interesante pregunta, hay muchas razones por las que esto ha sido no una buena, si no una maravillosa idea. ¿Cuántas veces no han visto una página caída después de recibir muchas visitas simultáneas? Yo he visto muchas, y esto es culpa de alguien, Apache.

Apache es el servidor que utilizamos para crear servidores hoy en día, Apache Tomcat sirve para aplicaciones JAVA en la web. El problema de Apache es que crea hilos simultáneos para cada conexión hasta que la página no soporta más y truena, Node.js crea un sólo hilo que está a la espera de que algo suceda.

Y es que Node.js nos permite tener un lenguaje de backend (Javascript) orientado a eventos, lo cual es genial, y permite que mientras estemos en la página se creen “sirvientes” para la página y puedan delegar distintas responsabilidades, según las peticiones del cliente, esto lo hace rapidísimo. Pero seguramente tú estás aquí para aprender a usarlo, después de un poco de teoría te dejo con el tutorial:

Imagen de previsualización de YouTube

19 comentarios en “Node.js: Crea tu primer servidor

    1. La verdad no estoy seguro de que http://nodester.com/ tenga soporte para mysql. Estoy seguro de que puedes instalar paquetes de modo que puedes usar bases no relacionales como mongoDB, si puedes instalar algún paquete para el manejo de mySQL, entonces nodester está bien. Si no, lo mejor sería que contrataras un servidor dedicada VPSDeploy tiene un servidor de un dólar al mes, tienes que contratarlo por un año pero es perfecto para pruebas. Saludos

  1. Muy bueno el post pero quería hacer una aclaración Node.JS NO es la primera aproximación de JavaScript del lado del servidor, los primero registrados fueron el equipo del fallecido Netscape y el proyecto se llamaba LiveWire te dejo el link para que le pegues una ojeada. http://philip.greenspun.com/wtr/livewire.html, incluso se puede hablar de que ASP, también lo hizo, o RingoJS para Java.

    1. Hola, también hay que darle crédito al buen LimeWire, para mí era mejor, mas fácil y eficiente de usar que el Ares, que buenos tiempos, incluso hasta hace poco se podía entrar a LimeWire.com y se veía una pantalla con un fondo diciendo que LimeWire murió pero ya no xd

      Por cierto, no vi a fondo el siguiente artículo, pero en él a lo que entiendo se desmiente lo de que "Node.js" es una maravilla, no estoy seguro de si sea cierto o no, el artículo se llama "node.js is cancer".

  2. Hola he visto tu tutorial esta muy bueno y tambien he conseguido alguna documentacion que estoy empezando a leer , soy un programador que viene del mundo de php y tengo algunas dudas .

    primero : Que no hace realmente node.js??

    segundo: He leido que node es el equivalente a usar apache sin modulos que todos tiene que ser agregados , y he leido hay muchos modulos para usar en este sentido entonces me viene la duda que para alguien que esta comenzando en el mundo de la programcion web esto puede ser un poco complicado.

    otra duda es sobre si con node se puede hacer todo lo que se hace con php ? quiero comenzar un nuevo proyecto y lo iba hacer con php , pero ahora que vi tu video quiero hacerlo en node por eso estoy leyendo mucho sobre node pero queria saber si con node se puede hacer todo lo que se hace con php? y que cosas no puede hacer?

    1. Node puede hacer las cosas de PHP, pero no es aconsejable.
      ¿Cuándo utilizar Node?

      Cuando necesitas que tu página corra a mucha velocidad.
      Cuando vas a manejar muchas peticiones a tu servidor, es decir mucha gente va a entrar.
      Cuando vas a hacer una aplicación en tiempo real.

      Node.js tiene una forma un tanto distinta a como PHP funciona, si estás acostumbrado a trabajar con AJAX y los callbacks que son las funciones que se llaman cuando una función termina un proceso, te irá bien con Node. Los paquetes no son indispensables, te sirven como un extra, pero puedes trabajar con ellos.

      Este post es muy bueno para saber cuándo usar Node, está en inglés y hace la comparación vs Ruby, pero también se puede aplicar a PHP.

      http://fabianosoriani.wordpress.com/2011/09/11/when-to-ruby-on-rails-when-to-node-js/

    1. Bueno, con respecto a Python, el trabajar con identación es genial, es decir no necesitas colocar llaves. Es muy sencillo de aprender y utilizar, bastante claro de entender y tiene librerías poderosas. El otro día vi a @ajamaica (en twitter) crear una aplicación muy cool de twitter utilizando una librería de python.

  3. Tenías razón cuando dijiste que "Node.js" viene con todo. Apache tiene problemas a partir de las 400 conexiones… Ojo que hay alternativas eh, yo encontré éstas…
    Tornado (Python), Twisted (Python), EventMachine (Ruby), Scale Stack (C++), Apache MINA (Java) o Jetty (Java).
    El problema es librarse de Apache… Es el servidor estándar y va a serlo por un un tiempo… además de que Node, al usar un solo hilo, también usa una cpu… Y te quiero ver si ponés un balanceador de carga en varios núcleos.

  4. he tenido problemas con el node.js,
    he revisado en mis variables de entorno y he agregado el path tal como se muestra en el tutoria,, node.js me funciona si lo corro en la carpeta donde esta instalada.
    Fuera de ella no me deja hacer nada. Al escribir en cmd node fuera de la carpeta, me dice que es un atributo no reconocido.

    A que se puede deber este problema??
    Saludos

  5. Hola Uriel. Un gusto de conocerte.
    He visto muchos de tus tutoriales, aprendí a interpretar lo que; en muchos casos tomas como obvio o comprendido por el que los vé.

    Pero lo que no he logrado encontrar en ninguno; es el modo de salir del dichoso "localhost:8080" dicho de otro modo. no logro ver desde otra pc el mensaje Hola Mundo del servidor que he creado. Todo funciona de maravillas desde la pc donde tengo el servidor y nada más.

    ¿Podés orientarme un poco para lograr ver mi servidor desde otra pc?

    Muchas gracias de antemano.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Cerrar