300px|thumb|direita|Logo frequentemente usado para representar as soluções do conjunto MEAN
MEAN (MongoDB, Express.js, AngularJS (ou Angular), e Node.js) é um conjunto de soluções JavaScript de software livre e código aberto para a construção de páginas web dinâmicas e aplicações web.
Como todos os componentes do conjunto são em Javascript, as aplicações feitas com MEAN podem ser escritas usando a mesma linguagem tanto no back-end(lado do servidor) como no front-end(lado do cliente).
Embora seja frequentemente comparado com outros conjuntos de solução para desenvolvimento web, como o LAMP (Linux, Apache, MariaDB/MySQL e PHP), os componentes do MEAN são mais próximos da programação de alto nível, pois incluem uma ferramenta para camada de apresentação da aplicação, e não incluem uma camada de sistema operacional.
A sigla MEAN foi usada pela primeira vez por pelo desenvolvedor Valeri Karpov que em 2013 introduziu o termo em seu Blog. A logo, criada pelo designer gráfico Austin Anderson para o grupo original de desenvolvedores MEAN no LinkedIn, foi feita juntando as primeiras letras das logos de cada um dos componentes do conjunto MEAN.
Componentes de software MongoDB
MongoDB é um banco de dados NoSQL orientado a documentos que usa documentos em formato JSON binário (BSON).
MongoDB é frequentemente escolhido como banco de dados nos projetos MEAN devido ao uso de documentos em formato semelhante ao JSON, o que permite que os outros componentes, também baseados em Javascript, interajam com os dados de forma muito mais natural do que em um modelo de banco de dados relacional (linhas e colunas).
Express.js
Express.js (também chamdo apenas de Express) é um módulo de desenvolvimento web para Node.js.
Embora o Express seja capaz de agir como o servidor web completo, até mesmo com SSL/TLS, por questões de performance ele é mais frequentemente usado juntamente com um proxy reverso como NGINX ou Apache.
Angular e alternativas
Geralmente, os dados são requisitados usando métodos Ajax e renderizadas no navegador por um framework de front-end. No entanto, as aplicações feitas com o conjunto MEAN costumam ser inteiramente baseadas em Javascript, é possível usar renderização no back-end, aonde os dados são requisitados, processados e organizados no lado do servidor, o que é mais rápido, prático e seguro.
O conjunto MEAN tradicional usa Angular.js como framework para desenvolvimento de interface gráfica, mas existem inúmeras variações possíveis. React (MERN) e Vue.js (MEVN) são as alternativas mais populares ao Angular.js no conjunto MEAN, embora seja possível usar outras opções, ou simplesmente não usar nenhuma (MEN).
Node.js
Node.js é o ambiente de execução no qual o conjunto MEAN roda.
O uso do Node.js, que representa o paradigma de JavaScript Everywhere("Javascript em todo lugar"), é parte integral do conjunto MEAN.
Ver também Conjunto de soluções (computação) LAMP (conjunto de software) Aplicação web Desenvolvimento web Biblioteca de software MongoDB Express.js Angular (framework) AngularJS Node.js
Bibliografia
Ligações externas meanjs.org is a fork of mean.io. It uses a tool called 'Yeoman' to generate Angular CRUD, routes, controllers, views, and services. MEAN Stack User Registration and Login Tutorial
Categoria:Aplicações web Categoria:Desenvolvimento web Categoria:Web Categoria:Bibliotecas JavaScript