Estoy de vacaciones y sin nada que hacer decidí darle formato a mi laptop. Todo empezó porque instalé la versión beta del sistema operativo y se desconfiguraron muchas cosas. Después de dos días de instalar y actualizar el sistema a la versión estable, tuve en mis manos una laptop limpia. Decidí que era una señal.

Iniciar el nuevo desarrollo del Cuadro de Mando Integral como una aplicación de una sola página1, una forma de crear aplicaciones web y dispositivos móviles que funciona con los estándares más modernos y novedosos.

Es posible hacerlo en Django, pero estoy decidido a aprender y mi elección fue un conjunto de herramientas conocida como full stack. Es decir, que se encargan tanto del back-end o los eventos y acciones que ocurren del lado del servidor, como de la interface con el usuario, o sea el front-end.

El conjunto full stack por el que me decidí se conoce como MEAN, que son las siglas de las herramientas que lo forman:

  • MongoDB, la base de datos
  • ExpressJS, el marco de trabajo para el back-end,
  • AngularJS, el marco de trabajo para el front-end, y
  • NodeJS, el motor que permite que todo funcione.

Este full stack tiene una característica muy particular: todos hablan el mismo lenguaje, JavaScript.

Solo había tres problemas con esta elección: no sé nada sobre JavaScript, hay rumores de un fork de ExpressJS y hay una nueva versión de AngularJS.

Tal vez el problema de ExpressJS no lo sea tanto. La empresa dueña de Express fue adquirida por StrongLoop y luego esta por IBM2. Pero un fork podría asegurar que el framework se mantiene.

Mis problemas principales eran JavaScript y las dos versiones de Angular. Por ejemplo, la versión 2 de Angular es algo completamente nuevo y representa el futuro del desarrollo. La versión 1 de Angular tiene muchos años y mucha experiencia acumulada.

Al final me decidí por Angular2, porque usa un lenguaje relativamente nuevo llamado TypeScript.

La lógica fue la siguiente: si tengo que aprender algo nuevo, que sea nuevo todo: Angular2 y TypeScript.

TypeScript tiene algunas similitudes con Python, aunque es más estricto, por ejemplo, usa de forma estricta los tipos de datos, lo que lo hace más ordenado y más fácil de depurar.

Veremos más en el siguiente artículo.


  1. Se les conoce como SPA por las siglas en inglés de Single Page Application. ↩︎
  2. El chisme esta bueno, lo pueden leer aquí: https://github.com/expressjs/express/issues/2844. ↩︎