jueves, 20 de marzo de 2014

MEAN Stack (MongoDB, Express, AngularJS, Node) y Yeoman

Hace un tiempo escribí un post sobre la integración de AngularJS en Rails. Una manera sencilla de aprovechar una aplicación para meter un Framework MVC JavaScript. Aún que la integración fue más o menos sencilla, le veo algunos problemas debido a la naturaleza de Rails.

Rails pierde su función original de framework MVC, ya que se limita a servir datos en formato JSON y del resto se debe encargar JS. Además de esto, está orientado a servir distintas páginas, una por cada recurso y action. Esto choca con la idea de AngularJS de poder realizar aplicaciones en una sóla página, modificando sólo el contenido necesario.
Para solucionar esto, es necesario modificar el backend, que es el que se encargará de la gestión de los datos y servirlos en formato JSON. Dentro de las distintas opciones, actualmente la tendencia es el MEAN stack (MongoDB, Express, AngularJS, Node)





Si hasta ahora lo más común ha sido el uso de LAMP stack con Linux, Apache, MySQL y PHP y el apoyo de los distintos frameworks que han ido surgiendo, actualmente empieza a surgir esta nueva corriente, de la cual se han implementado en poco tiempo gran cantidad de herramientas para ayudar en la agilización del desarrollo.

Una de las más cómodas es Yeoman, que nos permite crear, testear y ejecutar las aplicaciones basadas en Javascript con facilidad. Basta con realizar la instalación, encontrar el generador que más se adapte a nuestra aplicación e incluir los paquetes adicionales que queramos.
En mi caso el generador elegido fue el angular-fullstack, que incluye toda la capa MEAN.

Al usar el generador, tendremos directamente la aplicación creada, al igual que cuando usamos rails new en Ruby on Rails.

En próximos post iré profuncizando sobre este tema.