Vamos a realizar de manera completamente gratuita un pequeño curso  con el que aprender a crear una aplicación web de chat con NodeJS y Socket.io (ayudándonos además de algunas de sus librerías).

Vamos a aprender a crear un chat instantáneo con conexiones en tiempo real utilizando Node.js y SocketIO que es una plataforma que nos permite desarrollar back-end utilizando únicamente JavaScript. Este socket se está convirtiendo en una plataforma súper escalable ya que tenemos infinidad de librerías que nos ayudarán en nuestros proyectos. Que sumadas a las que tenemos disponibles para para Node.js nos permitirá únicamente usando JavaScript trabajar en el back-end que luego también en la parte de front-end.

Para ello utilizaremos solamente el lenguaje JavaScript, propio del lenguaje front-end para hacer un desarrollo completo (front y back).

El socket es una librería que nos permite manejar eventos en tiempo real mediante conexiones TCP y todo ello utilizando únicamente JavaScript. Este lenguaje de programación es muy potente y se puede hacer de todo tipo de aplicaciones en tiempo real. Un claro ejemplo es la aplicación que vamos a hacer en este curso y que va a ser una aplicación de chat en tiempo real. Las aplicaciones que nos encontramos de expertos en programación por Internet utilizan AJAX, pero nosotros no lo vamos a necesitar en ningún momento.

Simplemente vamos a tener el socket abierto y los clientes se van a ir conectando a dicho socket para que puedan ir mandando mensajes. Cada vez que se realiza el envío de un mensaje, re realiza un Broadcast al resto de clientes que hace que el resto de clientes puedan ver dicho mensaje.

Una pequeña intro para que veáis si queréis continuar leyendo

Vamos a realizar una pequeña introducción al curso para que puedas ver realmente lo que vamos estar viendo en las sesiones que durará (que todavía no lo tengo definido).

Empezaremos creando el proyecto base que es el que utilizaremos durante todo el curso. Instalaremos la dependencias necesarias, crearemos el proyecto con su estructura utilizando lo básico de Node.js. Después pasaremos a instalar todos los paquetes que necesitamos y todos los módulos de Node.js que vamos a utilizar para nuestra aplicación web de Chat como son los de SocketIO, NODEMON o ExpressJS.

aplicación web de Chat con NodeJS y SocketIO

Trabajaremos también entre otras con varias librerías dentro de nodejs y te enseñaremos cómo instalarlas para posteriormente poder configurarlas y poder utilizarlas en la aplicación de chat en vivo. Configuraremos nuestro entorno de forma básica para poder hacer la aplicación web de chat con NodeJS y SocketIO y después aprenderemos cómo crear una conexión al socket, es decir veremos cómo crear un evento de conexión al socket y que un cliente que se pueda conectar a ese socket y automáticamente se nos reporte un “Console log” con la IP de dicho cliente, etcétera.

Os enseñaremos también a cómo emitir un mensaje de bienvenida al cargar la aplicación de chat en vivo y cómo mostrarlo en todos los clientes que se conecten a nuestro servidor y veremos por último cómo enviar y recibir mensajes en el chat y cómo hacer que esos mensajes pues se vayan transmitiendo a través del socket y se vayan emitiendo a los clientes de forma bidireccional.

Este es un poco el resumen que tengo ahora en mi cabeza de lo que vamos a realizar. Se trata de una aplicación pequeñita pero que te permitirá crear tu chat en vivo sin demasiados conocimientos de desarrollo y además aprenderás el uso básico y configuración de Node.js dentro del ámbito del desarrollo web.