MEAN (abreviatura de MongoDB , Express.js , Angular.js , Node.js ) es un conjunto ("pila") de software de servidor que, como LAMP , se utiliza para el desarrollo web , centrado en JavaScript : todos los componentes de la pila admite la programación en JavaScript, tanto del lado del servidor como del lado del cliente Las aplicaciones MEAN se pueden escribir en este lenguaje de programación. El DBMS MongoDB orientado a documentos es responsable de la capa de almacenamiento en la pila ; la principal plataforma de ejecución es la plataforma de JavaScript del lado del servidor Node.js , el desarrollo del servidor se implementa utilizando el marco Express.js que se ejecuta sobre Node.js , y el desarrollo de la parte frontal, basada en el navegador, de las aplicaciones web es MVC : el marco Angular.js .
El acrónimo "MEAN" fue sugerido por el desarrollador de MongoDB, Valery Karpov, en un blog personal; El logotipo, compuesto por las primeras letras de los componentes de la pila, fue diseñado por Austin Anderson , usándolo primero para el grupo de discusión de la pila en la red social profesional LinkedIn [1] .
En comparación con la pila LAMP "clásica", MEAN difiere en varios aspectos. El lugar del sistema tradicional de gestión de bases de datos relacionales MySQL fue ocupado por el sistema NoSQL orientado a documentos sin esquema ; Linux (o algún otro sistema operativo ) ya no forma parte de la pila, ya que MEAN es multiplataforma y menos dependiente de las especificaciones del sistema operativo, y se enfoca principalmente en enlazar con el lenguaje de programación JavaScript que subyace a Node.js: el plataforma que también ejecuta la función de servidor web (reemplazando a Apache en LAMP). Tratar MongoDB directamente con datos JSON facilita el desarrollo de estilo REST sin la sobrecarga de analizar y convertir formatos [2] .
Una característica importante de MEAN es la transición de generar páginas web en el lado del servidor a crear predominantemente aplicaciones de una sola página , transfiriendo el núcleo de la implementación de MVC del lado del servidor al lado del cliente, lo cual está garantizado por la inclusión de Angular.js en la pila (además, el marco Express.js incluido en la pila proporciona enrutamiento tradicional del lado del servidor y generación de páginas) [2] .