De uns tempos pra cá eu ouvia falar de MongoDB, de Express, de Angular.JS e me assustava um pouco. Estava super interessado mas toda vez que pegava para estudar não conseguia captar nada com minhas antenas de como esse treco faz as mágicas.

Procurando no Youtube, além das vídeo-aulas do Suissa na webschool.io, encontrei uma série de três vídeos do Diego Lopes sobre a instalação do Stack que me tiraram do tédio durante muitas horas e me fizeram ficar empolgado de novo em levar Javascript a sério.


O que é MEAN?

Rapazes, o MEAN é bonitão. É um stack em javascript que permite unificar a linguagem do front-end e do back-end. Tem coisa mais bonitosa que isso?

O MEAN utiliza de 4 tecnologias-base: MongoDB, Express, AngularJS e NodeJS. Com estes quatro serumaninhos você cria uma aplicação escalável, legível e DO CARALHO.

Caso você seja como eu e esteja entrando agora nessa, saiba: o AngularJS é mantido pela Google. Então pode estudar tranquilo porque não vai morrer tão cedo, amiguinho.


Primeiro tratei de criar vergonha na cara (sem brigas, crianças!) e criar uma VM Ubuntu para poder me isolar em um ambiente de estudos propício e livre de distrações. Caso você nao saiba como criar uma máquina virtual e queira aprender, sugiro que entre aqui, aqui ou aqui.

Depois comecei a instalar na unha cada um dos quatro maquinistas do nosso trem.

Primeiro abri meu terminal e dei uma boa olhada. Não estou acostumado com terminais. Passei a usar terminais recentemente quando trabalhei em uma empresa que usa GIT para versionamento, tudo direto na linha de comando. E também passei a usar diariamente a CLI do Ember.JS que era nosso framework para aplicações web. Só estas pequenas coisas – para quem tinha parado de estudar lá em 2012 onde ninguém falava de javascript – já vinha sendo um ato heroico de esforço e corrida contra o tempo. Mas…

Sim. Mudei de lado, modafocas. Agora sou MEAN.

Depois de me assustar um pouco com o terminal, decidi que já tava na hora de deixar de medinho e partir pro abraço.


Instalando o MongoDB

O MongoDB é o “M” do MEAN. É ele quem vai fazer nossos dadinhos ficarem persistidinhos nos apps que criarmos. É uma base de dados orientada a documentos .json, isto é, notação de objetos do javascript.

Ainda estou aprendendo, não vou me extender. Mas é uma parada pica demais.

Tive que treinar o inglês sim, amiguinho. Tive que fazer tudo o que vi escrito aqui pra fazer o MongoDB rodar. Mas se você usa Windows é só baixar e instalar que tá tudo certo.


Instalando o Node.JS

O Node.JS vai criar o nosso server-side, malandragem. Acho que o Node.JS dispensa comentários justamente pela sua fama e grandeza e PELO VERDE LINDO QUE USAM NA HOMEPAGE. Se você quiser ter um gostinho do Node.JS, recomendo este artigo do Tableless.

Novamente: se você usa Windows só chegar aqui e baixar/instalar. Se você usa Ubuntu, assim como eu tenho apanhado até a bunda murchar, você também deveria apanhar até a bunda murchar. Zuera, entra aqui e faz tudo certinho.


Criando a pasta da aplicação

Com o NodeJS instalado e o MongoDB já pronto pra rodar, decidi partir para a estrutura de pastas do meu app de estudos.

Vale lembrar que isso foi apenas um estudo para captar nas anteninhas como que o ambiente é montado na unha. Existem frameworks que já criam todo o scafolding pra gente, mas é bom saber como a parada funciona.

O NodeJS vem com um gerenciador de dependências próprio, o NPM (Node Package Manager). Para utilizá-lo você vai precisar de um terminal. Dentro deste terminal você navega até a pasta raiz do seu projeto. Uma vez dentro da raiz do seu projeto, você dá o seguinte comandinho:

npm init

Esse comando vai te perguntar uma série de coisas lá no terminal, tudo de forma bem intuitiva e simples. De acordo com o que você responder lá, ele irá criar um arquivo com extensão .json dentro do seu projeto. Este arquivo, o package.json, vai ser o responsável por conter as dependências necessárias da sua aplicação.

NADA DE COPIAR E COLAR LIBS, CONFLITOS DE VERSÕES, STRESS… VENHA PARA O LADO PACKAGE MANAGER DA FORÇA!


Instalando o módulo Express

Esta parte é muito simples. O Express é o módulo para Node.JS que fará a escuta de porta, roteamento robusto da aplicação, etc. Agora que fomos malandros em instalar o NodeJS, vamos utilizar o NPM de novo, desta vez para puxar o Express para nossa aplicação:

npm install express --save

O comando –save serve para persistir esse módulo no nosso arquivo package.json de forma que não precisaremos fazer a porra toda de novo ao exportar a aplicação, mudar de lugar, ou qualquer coisa assim.


Criando nosso app.js

Acho que a melhor maneira de entender a parada é  comentando cada parte. Dê uma boa encarada nesse código, que é o app.js dentro da nossa pasta raiz da fucking aplicação:

// Aqui vamos pedir nosso módulo do 
// express para que o resto funcione tudo direitinho,
// e vamos armazenar tudo em variáveis bonitinhas.
var express = require('express');
var app = express();

// Aqui nós definimos uma rota.
// Essa rota corresponde ao início da aplicação.
// Note que a rota recebe um parâmetro que é o caminho,
// E o outro parâmetro é uma função.
// Esta função possui dois argumentos: uma requisição e uma resposta.
// Dentro dela executa-se um envio de resposta (res.send),
// Que neste caso é um texto (plain text).
app.get('/', function (req, res) {
  res.send('Ola, Marilene!');
});

// Aqui nós simplesmente definimos a porta onde nosso server irá rodar.
app.listen(3000, function () {
  console.log('Aplicativo rodando na porta 3000, kakarai!');
});

Você já consegue rodar isso e ver a mágica acontecer! Digite o seguinte no seu terminal que deve estar navegado para dentro da sua pasta (NUNCA ESQUEÇA):

node app.js

O MongoDB fica para uma próxima, pra quando eu estiver craque. 😉

Anúncios