Sobre las ventajas del MEAN stack

MEAN stack ha estado ganando terreno durante estos últimos años. Si googleamos un poco podemos encontrar que estas tecnologías empezaron allá por el 2009.

Tecnología | Fecha de aparición
Node.js: 27 de mayo del 2009 (dato de wikipedia)
MongoDB: 2009
AngularJS: 2009
Express: 26 de junio del 2009 (initial commit en github)

Hoy (fines 2015) estas tecnologías se encuentran bastante maduras, tenemos MongoDB en su versión 3.2, Angular 1.5/2, Node.js 4.2/5.2 y Express 4.
En 6 años estas tecnologías se han ido consolidando y han reemplazado al ya veterano LAMP/WAMP por este nuevo stack de tecnologías que nos permiten desarrollar aplicaciones modernas mucho más rápido que antes.
Y no sólo se trata de comodidad y rapidez sino que nos ofrecen posibilidades de escalamiento como nunca antes.

Pero para llegar a desarrollar una aplicación robusta y escalable no basta con utilizar un stack como MEAN. Otras tecnologías a su alrededor como balanceadores de carga, replicación, proxies, etc. son necearias. Veamos algunos casos.

En LAMP la A es por el servidor web Apache, en el stack MEAN su contra parte es la N de Node.js. Node.js es un conjunto de librerías (API) que corrren sobre el motor Chrome V8 con el cual podemos desarrollar aplicaciones de servidor en JavaScript. Gracias a los módulos http(core) y express (extensión) es posible crear aplicaciones auto-hosteables y con esto tener lo que Apache nos ofrece con muchas más ventajas. Para escalar creamos un cluster de nuestra aplicación y lo combinamos con un Reverse Proxy como nginx.

En el lado cliente tenemos Angular que ha crecido en popularidad durante los últimos años dejando atrás a otros frameworks como Backbone.js y KnockoutJS. Hace no muchos años el procesamiento de la interfaz cliente se la dejabamos al servidor para que la renderizara utilizando algún framework como Razor, ICEfaces, ASPX; hoy ese es trabajo del dispositivo cliente (tablet, mobile, laptop, etc.).

¿Por qué si se nos enseña a programar con objetos se termina guardando los datos en tablas? SQL fue diseñado a inicios de los 70 en IBM. Un tradicional sistema de facturación y cobros funciona perfectamente usando tablas y filas, esto es así porque SQL fue diseñado para ese tipo de soluciones. Hoy tenemos sistemas en tiempo real con millones de usuarios o simplemente nuestra solución no encaja bajo un modelo relacional de tablas y filas. Son muchas las opciones con las que contamos como MongoDB, Redis, Elasticsearch, Couchbase, etc.

Aunque hemos visto brevemente la potencia de este stack llamado MEAN este no nos asegura una fórmula ganadora para todos los tipos de proyectos. Está en nosotros como profesionales, saber elegir nuestras herramientas para cada tipo de escenario.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *