MEAN (conjunto de software)

MEAN (MongoDB, Express.js, AngularJS (ou Angular), e Node.js)[1] é 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.[2]

Logo frequentemente usado para representar as soluções do conjunto MEAN

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.[3]

A sigla MEAN foi usada pela primeira vez por pelo desenvolvedor Valeri Karpov[4] 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,[5] foi feita juntando as primeiras letras das logos de cada um dos componentes do conjunto MEAN.

Componentes de software editar

MongoDB editar

 Ver artigo principal: 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).[6]

Express.js editar

 Ver artigo principal: Express.js

Express.js (também chamdo apenas de Express) é um módulo de desenvolvimento web para Node.js.[7]

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.[8]

Angular e alternativas editar

 Ver artigos principais: Angular (framework), React (JavaScript) e Vue.js

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.[9]

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).[10]

Node.js editar

 Ver artigo principal: 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"),[11] é parte integral do conjunto MEAN.

Ver também editar

Referências

  1. «us-en_cloud_learn_mean-stack-explained». www.ibm.com (em inglês). IBM Cloud Education. 9 de maio de 2019. Consultado em 16 de fevereiro de 2020. Cópia arquivada em 14 de maio de 2020 
  2. Dickey, Jeff (24 de setembro de 2014). Write Modern Web Apps with the MEAN Stack: Mongo, Express, AngularJS, and Node.js (em inglês). [S.l.]: Peachpit Press. ISBN 9780133962376 
  3. «LAMP vs MEAN, Deciding the right stack for your startup». www.linkedin.com (em inglês). Consultado em 16 de fevereiro de 2020 
  4. «The MEAN Stack: MongoDB, ExpressJS, Angular and Node.js». Tumblr. 30 de Abril de 2013 
  5. «Mean Stack». LinkedIn 
  6. «The most popular database for modern apps». MongoDB (em inglês). Consultado em 16 de fevereiro de 2020 
  7. «Express - Node.js web application framework». expressjs.com (em inglês). Consultado em 16 de fevereiro de 2020 
  8. II, Thomas Hunter (28 de março de 2019). «Why should I use a Reverse Proxy if Node.js is Production-Ready?». Medium (em inglês). Consultado em 16 de fevereiro de 2020 
  9. «Features - Server Side Rendering | Next.js». nexts.org (em inglês). Consultado em 16 de fevereiro de 2020 
  10. holfener, Frys. «Offshore MEAN Stack Development». Imenso Software. Consultado em 17 de Outubro de 2019 
  11. «JavaScript Everywhere and the Three Amigos (WebSphere: Into the wild BLUE yonder!)». 14 de novembro de 2013. Consultado em 16 de fevereiro de 2020. Cópia arquivada em 14 de novembro de 2013 

Bibliografia editar

Ligações externas editar