Un ajedrez en tiempo real

Un ajedrez en tiempo real

Todas las aplicaciones que se realizan como proyecto final del Bootcamp de desarrollo web tienen las mismas piezas: servidor, base de datos, lógica e interacción con el usuario. La forma de combinarlas hace que podamos ver desde una tienda de madalenas hasta un juego de ajedrez, como el que hizo Robert.

Los alumnos que acceden a ISDI Coders tienen trayectorias profesionales y educativas distintas. En el diseño de cada promoción procuramos que esa diversidad enriquezca al grupo. Robert había programado muchos años en Estados Unidos y vino a ISDI Coders a conseguir un nivel profesional de Javascript, como el que tiene en otras tecnologías.

Un ajedrez en tiempo real

En este proyecto (lo puedes ver aquí), Robert creó un juego que permite partidas en tiempo real entre varios jugadores. No es habitual ver una aplicación como esta como proyecto final, pero es una de las posibilidades que ofrece el stack de tecnologías que enseñamos.

Para crearla, Robert utilizó la tecnología de SocketIO, que genera esta inmediatez en las jugadas. Es una aplicación web que se ejecuta en el entorno del navegador. Consiste en un frontend ReactJS que se conecta con una API en NodeJS. La API usa ExpressJS para canalizar solicitudes, y Mongoose para interactuar con MongoDB. La aplicación está escrita en Javascript y aprovecha las características de las versiones ES6 y ESNext.

Compartir es la clave

La personalización del curso de ISDI Coders nos permite hacer que cada alumno llegue a su máximo, independientemente de su nivel previo. Es muy importante que cada uno aporte en su medida y comparta su conocimiento para el beneficio de todos. La experiencia de Robert en programación sirvió para que sus intervenciones en el curso dieran profundidad y perspectiva en Javascript para el resto de sus compañeros.

… tú sabes mucho!

Ésta fue la frase final de la presentación de Robert, dirigida al profesor titular. Es muy importante para nosotros que el profesorado sepa mucho más allá del temario que impartimos, para poder argumentar con fundamentos todas las cuestiones que aparecen durante el curso. No debemos responder solo el como, sino dar a los alumnos la perspectiva, el porqué y las razones profundas de las distintas materias.

Es por ello que necesitamos que también los profesores asistentes sean alumnos que han destacado en su promoción por su nivel y capacidad docente.

Calidad de código

La calidad del código quiere ser uno de los sellos de ISDI Coders. La separación por capas y el test de las aplicaciones forma parte de los mínimos académicos que exigimos a nuestros estudiantes (y que las empresas valoran de ellos).

TDD (Test Driven Development) es una disciplina muy buscada en un programador, aunqué la presión del día a día en una empresa hace que su uso sea poco frecuente. Demasiado pronto como para usar TDD, optamos por forzar a los estudiantes a usar el testing unitario. Es una gran herramienta docente para solidificar los conocimientos en Javascript. Deben conocer bien el funcionamiento de todas las piezas de una aplicación, como funciona la sincronía y la asincronía de los procesos tanto en el cliente como en el servidor, etc. Para ello, utilizamos testing desde el primer día. Primero con Javascript y luego utilizando distintas herramientas que facilitan su implementación como: Mocha o Chai.

 

Es habitual ver en un proyecto final de ISDI Coders casi 2.000 lineas de test, buscando que los puntos clave de la aplicación estén bien cubiertos. De este modo, las aplicaciones son más robustas y permiten ir minimizando los problemas conforme el desarrollo va avanzando.

Si te interesa ver el código que hay detrás de esta aplicación, puedes verlo en el perfil de Github de Robert.

¿Te ha parecido interesante? ¡Compártelo!
Seguro que a tus contactos le gusta leerlo.

Quizá te interese

We use our own and third-party cookies to improve our services by analyzing your browsing. If you continue browsing it will mean that you consent to its use. More information in our Cookies Policy more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close