MEAN, un stack 100% Javascript que toma cada vez más fuerza en desarrollo web

4min

De los diferentes entornos que resuelven las principales necesidades en desarrollo web, hay un paquete que está tomando mucha fuerza y que merece la pena estudiar detenidamente por las ventajas en el día a día de los proyectos.  Se trata de MEAN, un stack completamente Javascript y que podemos instalar en sólo unos clics en nuestros Servidores Cloud, con todo lo que incluye (MongoDB, Express, AngularJS y NodeJS, entre otros).

Antes que nada vamos a describir cada una de las siglas MEAN, cuya pronunciación en inglés suena más agradable que en castellano. Bromas aparte, MEAN incluye los siguientes ingredientes:

  • MongoDB. Esta base de datos de tipo NoSQL o documental permite trabajar con datos en gran volumen con alto rendimiento. Se contrapone a las bases de datos tradicionales, que implementan el modelo relacional, ya que no hay tablas sino documentos, lo que serían objetos JSON. MongoDB, además, está avanzando rápidamente trayendo diversos beneficios que se conocen de las bases de datos relacionales, como la posibilidad de hacer combinaciones o joins. De las bases de datos no SQL, es la más sofisticada y utilizada hoy en día.
  • Express. Este framework para NodeJS permite el desarrollo de aplicaciones web con gran velocidad. Incluye lo que generalmente se espera de los frameworks: trabajo con sistema de rutas, modelos, vistas, etc. Pero, además, Express también cubre una de las necesidades de desarrollo web, que es implementar los mecanismos del HTTP, algo clave en el caso particular de NodeJS, que no requiere un servidor web para ejecutarse. Express facilita enormemente la creación de servicios web REST.
  • AngularJS. Es el framework Javascript que actualmente, y en los últimos años, está dominando el mercado. Es un MVC del lado del cliente (o mejor un MV*), que nos permite desarrollar aplicaciones en el navegador de tipo SPA y que implementan los patrones de desarrollo más habituales. Te puede resultar útil nuestro artículo ¿Por qué AngularJS?.
  • NodeJS. Es el lenguaje Javascript sacado de su contexto de ejecución habitual, el navegador. Por decirlo de alguna manera, han tomado el motor de Javascript y lo han independizado para que pueda ser capaz de ejecutar aplicaciones de propósito general. A veces se le conoce como Javascript del lado del servidor, pero la realidad es que hay mucho más detrás y hoy se ha convertido en una herramienta indispensable, no solo como motor de aplicaciones, sino como lenguaje para crear miles de aplicaciones que facilitan el día a día a los desarrolladores.

Aunque estos cuatro ingredientes son los que dan nombre al stack MEAN, el paquete de instalación de Cloudbuilder Next incluye también Apache, PHP, RockMongo y Git.

Índice

Fatiga del lenguaje

MEAN tiene una característica fundamental: todas sus partes usan el mismo lenguaje para funcionar. Tradicionalmente, los desarrolladores debían cambiar de lenguaje constantemente para el desarrollo de las diversas partes de un proyecto, lo que genera una fatiga mental a los integrantes de los proyectos.

En MEAN, tanto la programación del lado del cliente como la del lado del servidor e incluso la base de datos, se trabaja con el mismo lenguaje: Javascript. Eso permite que un desarrollador sea capaz de pasar de la programación de una plataforma a otra sin tener que cambiar el léxico o la sintaxis, a la vez que permite reaprovechar los conocimientos y el trabajo de un área en otra.

Arquitectura REST y MEAN

Como adelantábamos anteriormente, MEAN se usa para el desarrollo en la web y se adapta bien a todo tipo de proyectos y arquitecturas, aunque debido la arquitectura que más se utiliza es la basada en un API REST.

La parte del lado del servidor se desarrolla como servicio REST, capaz de responder a las operaciones entregando simplemente los datos en formato JSON al cliente. Por su parte, esos datos se consumen desde AngularJS en el lado del cliente, produciendo un mejor flujo de aplicación. Esta arquitectura produce aplicaciones web más ligeras y rápidas, más parecidas en experiencia de usuario a lo que estamos acostumbrados en el escritorio.

Tanto MEAN en sí como este tipo de arquitecturas REST permiten una mejor separación de módulos en un proyecto, lo que facilita el mantenimiento. Pero, además, permiten atender a muchos más clientes conectados al mismo tiempo sin saturar los recursos del servidor.

Para instalar el paquete MEAN en los Servidores Cloud de Arsys, tenemos que entrar en el Panel de Control y en Infraestructura>Servidor>Crear. En Imágenes, lo encontraremos en Aplicaciones>Infraestructura. Basta seleccionarlo y, en sólo unos clics, estará instalado sobre CentOS 7 en el Servidor Cloud.

Fernán García de Zúñiga

Productos relacionados: