Nuestra última SlashFriday estuvo dedicada al desarrollo con MEAN stack. Durante la sesión, nuestro SlashBoy Miguel Sánchez (@MikeOxprezz), nos hablo sobre qué es, cuáles son sus componentes y el porqué de su auge en los últimos tiempos. Como ya sabréis, con la aparición en los últimos años tanto de Nodejs como de Angular, Javascript ha ido ganando importancia en el panorama del desarrollo web, y es que la posibilidad de desarrollar toda una aplicación web, desde la base de datos hasta el front-end, en un mismo lenguaje es el principal motivo por el que el stack conocido como MEAN (que no es más que el acrónimo de sus componentes), se ha hecho un hueco llegando a hacer que grandes empresas tecnológicas migren sus sistemas.

 

Pero, empecemos por el principio ¿qué es stack MEAN? Es un stack de desarrollo para aplicaciones web caracterizado por emplear el lenguaje de programación Javascript tanto en el servidor como en nuestro navegador. Las tecnologías básicas del stack MEAN son: MongoDB, Express, Angularjs y Nodejs. Si bien, como veremos a continuación detallando cada una de ellas, no necesariamente tendrían que ser representadas en ese orden.

 

Mongo DB

Mongo DB es un sistema de base de datos NoSQL (not only SQL) que se caracteriza por su alta escalabilidad y por estar basado en documentos en lugar de las tradicionales tablas. Los documentos con los que MongoDB trabaja están en formato JSON, BSON para ser más exactos, que es un formato binario de JSON basado en clave valor. MongoDB, además, ofrece soporte para la gran mayoría de lenguajes de programación pero por supuesto, para Nodejs.

 

NodeJS

Node JS, es un framework de programación nacido en 2009 que se basa en el motor v8 de Google. Actualmente es el que usa el navegador Chrome y su principal característica es que está orientado a eventos no bloqueantes. Esto lo hace idóneo para la creación de aplicaciones que se van a usar en tiempo real.
Tanto el uso de esta tecnología, como la comunidad de usuarios que la apoya, esta creciendo de manera exponencial. NPM, que es el gestor de paquetes de Node, es un buen índice para medir la popularidad de este entorno de desarrollo. Además, es un indicador de que se está usando de una forma profesional (el ancho de banda de este gestor alcanza sus picos más altos durante el horario laboral).
 stack MEAN
stack MEAN 2

Express

Continuamos con Express, que es uno de los paquetes que podemos encontrar con NPM. Se trata de un framework que ofrece un conjunto de funcionalidades de vital importancia durante nuestro desarrollo. Así, se encarga tanto del enrutamiento de las peticiones que llegan a nuestro servidor, como del manejo de errores; y también actúa de middleware permitiéndonos crear apis rest de una forma asombrosamente rápida.

 

Angular

Y por último (y no menos importante) Angular, un tema que ya hemos tratado en otras ocasiones. Hemos querido dejarlo al final porque es la parte correspondiente al front-end. Es un framework basado en el patrón modelo-vista-controlador creado por Google y se utiliza para crear single-page-applications (páginas que no necesitan ser recargadas para actualizar sus vistas).

 

Finalmente, aunque se puede desarrollar con el MEAN stack añadiendo estos componentes uno a uno (lo cual recomiendo si se está comenzando para poder aprender como funciona todo), existen diversos boilerplates o esqueletos con los que podemos empezar a hacer pruebas sin tener que estructurar toda nuestra aplicación web desde cero. Los mas destacados son:

Ahora sí, y ya para acabar, os dejamos la presentación que sirvió de apoyo en la sesión:

Autor del post: Miguel Sánchez (@MikeOxprezz), Cross Developer en SlashMobility.

Recommended Posts

Leave a Comment