Executando verificação de segurança...
1

O que é a MERN STACK?

Introdução

Eu particulamente AMO compartilhar conheceimento de forma gratuita, e quando descobri essa comunidade meus olhos brilharam, com certeza vou passar por aqui muitas e muitas vezes! Se você quiser mais conteúdos gratuitos, fique a vontade para dar uma olhada no meu canal, tenho trabalhado bastante para democratizar a programação e tornar a internet um lugar mais massinha.

O que é STACK?

Antes de falar da MERN, bora entender o que é esse “STACK” que você vê em praticamente todo lugar, quando se falar de tecnologia, mais especificamente, programação.

Na tradução literal, STACK significa PILHA, o qual é um conceito muito conhecido para quem estudou ciências da computação, nesse contexto, uma pilha é um tipo abstrato de dado e estrutura de dados baseado no princípio de Last In First Out, ou seja “o último que entra é o primeiro que sai” caracterizando um empilhamento de dados.

Porém, não é dessa STACK (pilha) que os recrutadores estão falando quando divulgam uma vaga para profissionais “fullstack”, por exemplo, isso porque o termo foi reutilizado para representar a quantidade de tecnologias que você tem em sua “pilha” de conhecimento.

Ou seja, em programação nós nos apropriamos do termo stack para referenciar quais conjuntos de tecnologias nós conhecemos, seja de front-end, back-end, banco de dados, devops, testes e por aí vai. Toda vez que você aprender alguma tecnologia nova, você está adicionando ela em sua “pilha” de conhecimento, ou em sua stack.

Agora, sim, o que é MERN?

MERN é um conjunto de tecnologias que caminham juntas para construção de aplicações web, na imagem acima você já está vendo que a palavra MERN é um acrônimo de palavras representando:

  • M: Mongo DB (Banco de dados)
  • E: Express (Back-end)
  • R: ReactJs (Front-end)
  • N: NodeJs (Motor JavaScript)

Com essas quatro tecnologias, nós conseguimos criar qualquer aplicação web, que tenha uma fácil manutenção, alta escalabilidade e principalmente, um desempenho incrível, além disso, as tecnologias de back-end e front-end utilizam a mesma linguagem de programação, o JavaScript que é a linguagem mais amada e mais utilizada no mundo segundo a pesquisa do Stack Overflow de 2022, isso facilita muito na hora da contratação de profissionais. Essas tecnologias são poderosas.

Na lista acima eu indiquei qual a função de cada uma, mas queria dar um breve resumo sobre elas para que você realmente entenda porque trabalhar com elas vai gerar benefícios para seus projetos e equipes.

Mongo DB

Esse banco de dados é o queridinho dos programadores quando se fala em banco NoSQL (Not only SQL), isso porque ele utiliza um padrão de armazenamento de dados chamado BSON, o qual é extremamente parecido com o famoso JSON(JavaScript Object Notation).

Além disso, ele possui uma liberdade gigantesca na hora da criação de suas coleções(tabelas em SQL) e documentos(Linhas em SQL), a rapidez com que ele buscas os dados é um diferencial, e mesmo ele sendo NoSQL, é possível “relacionar” as coleções referenciando os ids nos documentos ou criando arrays dentro de campos nos documentos, se quiser saber mais é só acompanhar a playlist que estou fazendo no meu canal, lá eu dou detalhes de como utilizar o Mongo DB em seus projetos!

Express

Express é uma biblioteca de NodeJS que facilita a criação de APIs, com ela nós conseguimos receber requisições de um cliente(front-end) e responder com uma facilidade incrível, ele é muito flexível e permite que criemos nossa arquitetura da forma que bem entendermos, isso é bom, mas é perigoso; por isso, é importante conhecer sobre Clean Code, para não errar na hora de construir uma API com Express.

Se você não sabe a real função de uma API, vou simplificar, de forma objetiva ela é responsável por interceptar os dados enviados do front-end para o banco de dados, nessa interceptação ocorre validação de dados, regras de negócio, segurança, entre outras operações para garantir a integridade do banco de dados e principalmente, para armazenas os dados de forma correta nele, além disso, sempre que o front-end precisar de um dado, ele sempre vai pedir para o back-end(API) que por sua vez faz todas as validações, busca o dado e devolve para o front-end.

Para fazer você visualizar isso tudo de forma prática, imagine que você quer criar uma postagem no Instagram, você vai precisar inserir uma imagem, descrição, entre outras informações opcionais, assim que você clica em postar, todas essas informações precisam ser registradas para que quando você entrar no Instagram no outro dia, você a encontre, para esse registro, você precisa de um banco de dados, mas antes de chegar no banco o back-end(API) precisa validar todas as informações e aí, sim, registrar no banco.

React JS

Essa é outra biblioteca de Node JS, só que dessa vez ela é responsável por criar o front-end da aplicação web, o front é a parte que o usuário vê e interage, essa ferramenta incrível foi criada pelo time de programadores do Facebook visando facilitar a criação de interfaces de usuário e principalmente gerar fluidez na navegação, trazendo um aspecto de aplicativo mobile para os sites, fazendo com que a velocidade aumente, facilitando a interação do usuário com a aplicação web.

Toda aplicação em React é chamada de SPA(Single Page Application), isso porque essa biblioteca possui apenas um arquivo HTML e gera todas as outras “partes” do site através do JavaScript, facilitando a codificação dos sites e agrupando essas “partes” em componentes que podem ser reutilizados, facilitando a manutenção e aumentando a rapidez na construção de aplicações web, pois evita repetição de código.

Essa tecnologia não é tão simples de aprender, mas quando se entende o conceito, tudo flui tranquilamente, e as vantagens em utilizá-la se tornam cada vez mais aparentes!

Node JS

Esse cara foi citado em Express e React, isso porque ele é o grande responsável por fazer essas tecnologias funcionarem em nosso computador, pois o JavaScript foi criado para ser interpretado apenas pelo navegador, o que gerava uma grande limitação para essa linguagem tão linda e incrível.

Dai então pensaram, “será que não conseguimos interpretar o JS do lado do servidor também?” e a resposta foi sim, dai então uma equipe de programadores “pegou” o motor que interpreta o JavaScript no Google Chrome, chamado de “V8” e reutilizaram ele para criar o Node JS que agora podemos instalar em nossos computadores. Ele traz consigo diversos pacotes e bibliotecas, como o Express e o React, proporcionando uma extrema flexibilidade e pluralidade para o tão amado JavaScript!

Conclusão

Espero que os benefícios de utilizar a MERN STACK em seus projetos tenham ficados claros, mas se não, quero trazer mais clareza para vocês.

De modo geral, sempre que trabalhamos com a mesma linguagem de programação(JS) nos dois grandes “polos”(front e back) de nossa aplicação, nós não só ganhamos desempenho, mas também uma facilidade de comunicação entre as equipes, gerando rapidez na resolução de problemas e implementações de novas funcionalidades. Quando agregamos isso a um banco de dados que utiliza uma arquitetura muito próxima do JSON, nossos poderes são ampliados e a fluidez do trabalho fica evidente.

Por fim, existem diversos conjuntos de STACKS que trabalham bem juntas, e você pode encontrar mais acrônimos de palavras como essa por aí, minha dica para você que quer ser fullstack é, se apegue em uma e a estude muito, tenho certeza que não irá se arrepender!

Se você quiser aprender mais sobre a MERN STACK é só você acompanhar meu curso gratuito no YouTube: do ZERO a MERN STACK

Espero ter ajudado, até a próxima, faloooou!

Carregando publicação patrocinada...