nodejs – ProgramaciónExtrema.com https://programacionextrema.com Tutoriales de programación! Wed, 25 Nov 2015 02:20:43 +0000 es hourly 1 https://wordpress.org/?v=5.6.15 https://programacionextrema.com/wp-content/uploads/2015/10/cropped-icon-programacion-extrema-32x32.png nodejs – ProgramaciónExtrema.com https://programacionextrema.com 32 32 Introducción a NodeJS https://programacionextrema.com/2015/10/18/introduccion-a-nodejs/ https://programacionextrema.com/2015/10/18/introduccion-a-nodejs/#respond Sun, 18 Oct 2015 21:45:47 +0000 http://programacionextrema.com/?p=192 NodeJS es una de las tecnologías para el desarrollo web más utilizada en la actualidad. Esta tecnología nos permite programar con Java Script del lado del servidor, y además utiliza un modelo asíncrono y orientado a eventos. NodeJS utiliza la Máquina Virtual V8 de Google, el mismo entorno de ejecución para Java Script que utiliza… Read More

La entrada Introducción a NodeJS aparece primero en ProgramaciónExtrema.com.

]]>
NodeJS es una de las tecnologías para el desarrollo web más utilizada en la actualidad. Esta tecnología nos permite programar con Java Script del lado del servidor, y además utiliza un modelo asíncrono y orientado a eventos.

NodeJS utiliza la Máquina Virtual V8 de Google, el mismo entorno de ejecución para Java Script que utiliza Google Chrome. Es importante mencionar que V8 es uno de los interpretes más rápidos del mundo, además de ser actualizado constantemente por sus desarrolladores.

Una de las características más importantes que lo diferencia de otros servidores (como el Apache) y lo hace mucho más rápido es que sólo utiliza un thread para correr toda la aplicación, y únicamente crea otro thread si hubiera alguna operación bloqueante. En cambio el Apache crea un thread por cada usuario conectado, con todo los recursos que consume realizar dicha acción.

¿Cómo instalar NodeJS?

Para instalar NodeJS en ubuntu, sólo tenemos que ejecutar los dos siguiente comandos:

sudo apt-get update
sudo apt-get install nodejs

Es importante ejecutar el update antes, ya que de lo contrario se nos podría instalar una versión vieja de NodeJS.
Ahora si queremos instalarlo en windows sólo debemos descargar el ejecutable desde nodejs.org/en/download y seguir con las instrucciones de instalación.

¿Cómo crear un proyecto en NodeJS?

Esta es la parte más divertida, para crear un proyecto primero debemos crear un directorio con el nombre que nos guste y dentro de ese directorio debemos agregar un archivo de extensión js, en nuestro caso app.js, pero el nombre puede variar. En el contenido de este archivo vamos a incluir el siguiente código:

var http = require('http');
var s = http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hola Mundo\n');
});
s.listen(3000);
console.log('El servidor está corriendo!');

Con este código lo que estamos haciendo es iniciar nuestro servidor sobre el puerto 3000 (se puede cambiar por otro). Luego de ejecutarlo con el comando node app.js deberíamos poder acceder a la página web utilizando la URL localhost:3000 y ver el resultado, que en nuestro caso sería el mensaje «Hola Mundo».

Buenos hemos llegado al final de esta introducción a NodeJS. Esto es todo lo básico que se debe tener en cuenta a la hora de empezar a programar con NodeJS, en los siguiente tutoriales veremos cómo servir un archivo html y manejar las dependencias con npm. Ante cualquier problema no duden en dejar un comentario, el cual será respondido en la brevedad.

La entrada Introducción a NodeJS aparece primero en ProgramaciónExtrema.com.

]]>
https://programacionextrema.com/2015/10/18/introduccion-a-nodejs/feed/ 0
Crear un chat con NodeJS y SocketIO https://programacionextrema.com/2015/10/17/crear-un-chat-con-nodejs-y-socketio/ https://programacionextrema.com/2015/10/17/crear-un-chat-con-nodejs-y-socketio/#respond Sat, 17 Oct 2015 20:43:53 +0000 http://programacionextrema.com/?p=159 NodeJS nos permite desarrollar sitios webs programando en Java Script del lado del cliente y servidor. Esto es gracias a que hace uso de la Máquina Virtual V8 de Google, el mismo entorno de ejecución para Java Script que utiliza Google Chrome. NodeJs es orientado a eventos y realiza todas las tareas con el exterior… Read More

La entrada Crear un chat con NodeJS y SocketIO aparece primero en ProgramaciónExtrema.com.

]]>
NodeJS nos permite desarrollar sitios webs programando en Java Script del lado del cliente y servidor. Esto es gracias a que hace uso de la Máquina Virtual V8 de Google, el mismo entorno de ejecución para Java Script que utiliza Google Chrome.

NodeJs es orientado a eventos y realiza todas las tareas con el exterior (cómo acceder a una base de datos) de manera asíncrona, pudiendo así desarrollar sistemas en tiempo real como un chat o juegos.

En este artículo veremos lo básico que se debe tener en cuenta a la hora de crear un chat con NodeJS y SocketIO.

Antes de crear un chat con NodeJS y SocketIO

Antes de comenzar debemos tener instalado NodeJs y los módulos SocketIO (para manejar los sockets) y Express (con el cual manejaremos las peticiones que lleguen al servidor).

Instalar NodeJs en Ubuntu desde la terminal:

sudo apt-get update
sudo apt-get install nodejs

Luego crear un directorio para el proyecto e instalar los módulos:

npm install --save socket.io
npm install --save express

Ahora vamos a crear un chat con NodeJS y SocketIO

Vamos a empezar con nuestro servidor, para esto debemos crear un archivo server.js (el nombre puede variar) en el directorio del proyecto (creado anteriormente) y colocar el siguiente código:

/*
 * server.js
 */

/* Librerías necesarias para crear la aplicación */
var app  = require('express')();
var http = require('http').Server(app);
var io   = require('socket.io')(http);


/*
 *  Configuramos nuestra ruta (index) principal con
 *  express para mostrar el chat
 */
app.get('/', function(req, res) {
  res.sendFile( __dirname + '/chat.html');
});


/*
 *  Configuramos Socket.IO para estar a la escucha de
 *  nuevas conexiones.
 */
io.on('connection', function(socket) {
  
  console.log('New user connected');
  
  /*
   * Cada nueva conexión deberá estar a la escucha
   * del evento 'nuevo mensaje', el cual se activa
   * cada vez que un usuario envia un mensaje.
   * 
   * @param  msj : Los datos enviados desde el cliente a 
   *               través del socket.
   */
  socket.on('nuevo mensaje', function(msj) {
    io.emit('nuevo mensaje', msj);
  });
  
  /*
   * Imprimimos en consola cada vez que un usuario
   * se desconecte del sistema.
   */
  socket.on('disconnect', function() {
    console.log('Usuario desconectado');
  });
  
});


/*
 * Iniciamos la aplicación en el puerto 3000
 */
http.listen(3000, function() {
  console.log('listening on *:3000');
});

Cada vez que un usuario se conecte se disparará el evento connection y se crea un socket para ese usuario. Para cada socket se crea un evento ‘nuevo mensaje’ para enviar un mensaje desde el cliente. El nombre del evento en nuestro caso es ‘nuevo mensaje’ pero cada uno puede elegir el que más le guste, eso sí, si se cambia en el servidor también debe ser cambiado en el cliente.

Ahora debemos escribir el código HTML y Java Script para el cliente:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Sala de chat</title>
  <style>
	body{font-family: Arial;}
  </style>
</head>
<body>
  <h3>Mensajes:</h3>
  <ul id="listado-msjs">
    
  </ul>
  <div id="env-msjs">
	  <input id="nuevo-msj"  placeholder="Nuevo mensaje">
	  <button id="btn-msj" onclick="enviarMensaje()">Enviar</button>
  </div>
  
  <script src="http://code.jquery.com/jquery-1.11.1.js"></script>
  <script src="/socket.io/socket.io.js"></script>
  <script>
    var socket = io(); // Inicializamos socketIO en el cliente
    
    /*
     * Evento listener para el 'nuevo mensaje'
     *   Se puede ver que es el mismo evento que se envia 
     *   desde el servidor.
     * Agregamos el mensaje ingresado por el usuario a la lista.
     */
    socket.on('nuevo mensaje', function (msj) {
      $('#listado-msjs').append( $('<li>').text(msj) );
    });
    
    /*
     * Emitimos un evento de tipo 'nuevo mensaje' cada vez
     * que se presiona el botón enviar y enviamos
     * su contenido como mensaje.
     */
    function enviarMensaje() {
        socket.emit('nuevo mensaje', $('#nuevo-msj').val());
        $('#nuevo-msj').val('');
    };
  </script>
</body>
</html>

Para realizar este cliente utilizamos las librerías jQuery y SocketIO (Para el front-End). En el código se puede ver que se crea un evento ‘nuevo mensaje’ para enviar y otro para recibir mensajes.

Luego para probar esta aplicación debemos ejecutar el comando node server.js y al entrar con la URL localhost:3000 vamos a ver nuestro chat. Para enviar mensajes con dos usuarios conectados podemos abrir dos pestañas distintas.

Bueno gente, eso es todo lo que se tiene que saber a la hora de crear un chat con NodeJS y SocketIO. Espero que les haya servido y ante cualquier problema no duden en dejar un comentario.

La entrada Crear un chat con NodeJS y SocketIO aparece primero en ProgramaciónExtrema.com.

]]>
https://programacionextrema.com/2015/10/17/crear-un-chat-con-nodejs-y-socketio/feed/ 0