De software livre e código aberto, o MEAN Stack é um conjunto de soluções JavaScript para a construção de páginas web dinâmicas e aplicações web que utilizam o JavaScript em todas as camadas da aplicação.
O termo MEAN foi utilizado pela primeira vez em 2013 pelo desenvolvedor Valeri Karpov e suas siglas significam: M - MongoDB, E - Express.js, A - Angular e N - Node.js.
Basicamente, o MEAN funciona da seguinte forma:
O cliente utiliza a aplicação front-end desenvolvida em angular que envia a requisição feita pelo cliente para o node, que vai tratar a requisição e, através do express, acessa o banco de dados mongo para obter os dados a serem retornados.
A partir daí, o Express retorna os dados obtidos no banco para o node, que trata como a resposta da requisição será feita e, utilizando o angular, exibe os dados para o usuário.
Como vimos anteriormente, o MEAN utiliza as tecnologias Angular, Node.js, Express.js e MongoDB. Abaixo veremos um pouco sobre cada uma delas.
Ferramentas que compõe o MEAN
MongoDB
De código aberto, multiplataforma e lançado em 2009, o MongoDB é considerado um “líder” no quesito SGBD NoSQL.
É um banco de dados orientado a documentos, baseado no formato JSON (JavaScript Object Notation) e possui uma curva de aprendizagem baixíssima.
Dentre suas principais características, podemos citar:
- Totalmente gratuito;
- Possui uma baixa curva de aprendizagem, como dito acima;
- Fácil escalabilidade horizontal;
- Multiplataforma;
- Suporte para transações ACID multi-documento;
- Consultas suportam funções JavaScript personalizadas, entre outros.
É um SGBD muito utilizado tanto por pequenas quanto por grandes empresas, como mostra em seu site, como: Facebook, Ebay, Google, Adobe, entre outras.
O download do MongoDB pode ser feito em seu site, onde é possível encontrar toda sua documentação, suporte e muito mais.
Curso MongoDB - Desenvolvedor
Conhecer o cursoExpress.js
O Express.js por sua vez é um Framework para o desenvolvimento de aplicações JavaScript com o Node.js.
De código aberto, sobre a licença MIT, o Express.js foi desenvolvido para otimizar a construção de aplicações web e APIs, tornando-se um dos Frameworks mais populares da internet e que utiliza o Node para execução do javascript como linguagem de back-end.
Dentre suas principais características, podemos citar:
- Possui um sistema de rotas completo;
- Possibilita o tratamento de exceções dentro da aplicação;
- Permite a integração de vários sistemas de templates que facilitam a criação de páginas web para suas aplicações;
- Gerencia diferentes requisições HTTP com seus mais diversos verbos;
- Feito para a criação rápida de aplicações utilizando um conjunto pequeno de arquivos e pastas;
Curso Nest.js - Fundamentos
Conhecer o cursoAngular
Angular é um framework para o desenvolvimento de aplicações web, que utiliza o JavaScript para desenvolvimento, tendo como principal objetivo o desenvolvimento de aplicações web mais robustas utilizando o JavaScript.
Foi criado por Misko Hevery e Adams Abrons em 2009, com um projeto inicial de que tinha como principal objetivo facilitar a criação de aplicações web.
O Angular foi construído sob o padrão MVVM ( Model-View, View-Model) abstraindo a camada de controle dos demais padrões conhecidos.
Dentre suas principais características, podemos citar:
- É Open Source;
- Mantido pelo Google;
- Arquitetura da aplicação em camadas bem definidas;
- Permite a criação modular e de componentes reutilizáveis;
- Já possui a infraestrutura para integração com back-end;
- Facilita a etapa de testes de forma automatizada.
Curso Angular - Introdução
Conhecer o cursoNode.js
O Node.js por sua vez, é uma plataforma open source que permite a execução de código JavaScript a nível front-end e back-end.
Em palavras mais simples, o Node.js é uma forma de executar o JavaScript do lado do servidor de uma aplicação.
Teve seu lançamento em 2009 sobre a licença MIT e é utilizado por diversas grandes empresas como Linkedln, Groupon, PayPal, entre outras.
O Node.js possui aplicabilidade em diversos meios, dentre eles podemos citar:
- Criação de aplicações de chats e mensagens instantâneas;
- Criação de API´s escaláveis;
- Aplicações web que funcionam em real-time;
- Aplicações CLI (Client Line Interface), entre outros.
Curso React - Trabalhando com Arquitetura Flux
Conhecer o cursoPodemos então concluir…
O uso do Javascript para criação de aplicações cresceu muito nos últimos anos. O que antes era apenas para o desenvolvimento front-end, hoje é utilizado para o desenvolvimento completo de diversos tipos de softwares. O MEAN é um ótimo exemplo deste poder do javascript, com ele conseguimos trabalhar com a linguagem em todas as camadas da aplicação.