Taller de NodeJS

Autores

Francisco García Díaz «i02gadif@www.uco.es»
Jesús Rodríguez Pérez «i02roprj@www.uco.es»

 

Link del proyecto en GitHub

https://github.com/jesusnoseq/nodepong

 

Introducción  

Se realizará un taller de node.js en el que se guiará paso a paso al alumno en la realización de  un pong multijugador en tiempo real a través de la red.  En el taller se explicarán los conceptos básicos para comprender el funcionamiento de las  tecnologías utilizadas, principalmente node.js y la etiqueta canvas de HTML5.

 

Breve descripción del trabajo  

En este taller cada alumno realizará los pasos indicados en su ordenador, estos pasos principalmente serán la creación del servidor en node.js y la creación del juego en HTML5. El proyecto completo el cual incluirá la presentación paso a paso se podrá descargar de github.

 

Lenguajes de Programación/Tecnologías utilizados  

Lenguajes:  HTML5, JavaScript.

Tecnologías y frameworks:

● Node.js:  Es una plataforma para construir aplicaciones de red escalables usando javascript.

● Jade:  Sistema de plantillas para node.js. Nos permite escribir pa rápidamente codigo que  después se renderiza como HTML gracias a que no tenemos que usar cierres de  etiquetas y usamos la indentacion para indicar que etiqueta va dentro de otra.

● Socket.io:  Librería que ayuda a implementar un sistema de eventos en tiempo real con node.js

● Express:  Es framework MVC bastante ligero que ayuda a construir aplicaciones webs.

 

Descripción de cada elemento desarrollado  

1. Creación de una presentación de la aplicación con ejemplos explicativos de código.

2. Creación de la aplicación servidor utilizando la plataforma node.js

3. Creación de la web que se conectará al servidor y que mostrará al usuario el videojuego  pong jugable como resultado final.

 

Objetivos  

Investigar novedosos métodos cliente/servidor.

Poder hacer que otros aprendan de manera sencilla las bases del modelo cliente/servidor  gracias a node.js.

Realizar un software que sea libre y didáctico.

 

Licencia

La licencia elegida para este proyecto ha sido MIT, se considera software libre, no tiene copyleft  y es compatible con la GPL.

 

Tutorial

Para realizar el tutorial hay que descargar el repositorio indicado al inicio del post donde está incluida la documentación técnica con los pasos a seguir y la presentación.

El repositorio además tiene los 4 pasos en distintos directorios preparados para ser usados en caso de no saber hacer alguna cosa, además de eso se incluye el código final.

Pasos que se siguen en el tutorial:

Paso 1.­ Instalación y estructura de ficheros

En este paso se indica como instalar y distribuir los ficheros del proyecto

 

Paso 2.­ El juego

En este paso se indica como realizar la parte cliente y como realizar un servidor básico

 

Paso 3 ­ Comunicación con socket.io

En este paso se codificará la lógica que llevará el juego. Se programará el sistema de colisiones  y las clases necesarias.

 

Paso 4 ­ Todo junto

En este paso se programará la comunicación entre el cliente y el servidor con socket.io. Principalmente en este paso crearemos y manejaremos eventos.

 

Referencias

https://github.com/learnboost/socket.io/wiki

http://expressjs.com/guide.html

http://jade­lang.com/