Guia de Linguagem

MongoDB, Express, Angular e Node.js


Neste guia de consulta você encontrará diversos conteúdos sobre a MEAN Stack, o conjunto de frameworks e banco de dados baseados em JavaScript formado pelo MongoDB, Express, Angular e Node.js.

Introdução

Você já ouviu falar em MEAN Stack? MEAN é um conjunto (ou stack) de frameworks e banco de dados todos baseados em JavaScript. Seu nome é o acrônimo de MongoDB+Express+AngularJS+MongoDB, ou seja, tecnologias que lhe darão o suporte para desenvolver aplicações tanto no lado servidor quanto no cliente usando uma mesma linguagem de programação: JavaScript.

Para saber mais sobre essa stack, confira o DevCast abaixo:

Angular

O Angular é um framework JavaScript que simplifica não apenas a construção da interface de usuário, mas também o desenvolvimento de aplicações client-side diferenciadas, sejam elas para a web, mobile ou desktop. Você já ouviu falar sobre ele, mas ainda não sabe o que é? Então assista o curso abaixo:

Agora que você já sabe o que é o Angular, já aprendeu o que é uma Single Page Application, como funciona esse framework, está na hora conhecer os seus principais recursos. Para isso, assista ao curso abaixo:

Angular CLI

Uma importante ferramenta para o desenvolvimento de aplicações com o Angular é a Angular CLI. Com ela simplificamos a execução de todas as etapas que podem ser automatizadas, da criação ao build do projeto.

Nesta seção você encontrará documentações que apresentam todos os recursos que a Angular CLI nos fornece. Utilize esse material para consulta rápida:

Node.js

O Node.js é um runtime de JavaScript que permite executar aplicações com essa linguagem fora do browser. Ou seja, trata-se de uma plataforma de desenvolvimento de aplicações do lado servidor que utiliza o JavaScript como linguagem de programação. Com ele podemos usar essa linguagem da mesma forma que usamos Java, C# e PHP, por exemplo.

De fato o Node.js baseia-se no V8, o mecanismo responsável pela interpretação do JavaScript no Google Chrome. Ou seja, se você já usou JavaScript no front-end de aplicações web, poderá aproveitar o conhecimento sobre essa linguagem e programar também o back-end.

Para dar os primeiros passos e compreender na prática como isso funciona, que tal assistir o curso abaixo?

Dentro do Node.js há um componente fundamental chamado NPM (Node Package Manager). Ele é o responsável pela instalação e atualização dos pacotes/bibliotecas utilizados nos projetos, além de poder ser utilizado na execução e testes das aplicações. Portanto, conhecer o NPM e saber utilizá-lo é fundamental para você que deseja usar o Node.js. E para lhe ajudar preparamos um curso no qual você vai conhecer essa ferramenta e compreender seu funcionamento:

Aplicações web

O Node.js é uma das plataformas que mais vem ganhando destaque na construção de aplicações web. Alguns dos motivos para isso são seu bom desempenho, o uso do JavaScript (uma linguagem já bastante conhecida) e a ampla quantidade de pacotes/bibliotecas disponíveis para a realização de várias tarefas comuns (acesso a banco de dados, log, servidores web, etc.).

O Node.js também pode ser facilmente integrado a frameworks JavaScript, como AngularJS, e é base para várias outras plataformas que tem o JavaScript como linguagem principal, como o Meteor.js. Quer saber mais? Separamos alguns artigos que vão lhe ajudar:

Programação assíncrona

Programação assíncrona é um conceito muito forte no Node.js. De forma resumida, esse modelo de programação nos permite executar um determinado procedimento e seguir com o fluxo do código sem que o programa seja interrompido até a finalização do processamento. Ao invés de aguardar o resultado daquela ação (de forma síncrona) nós usamos as chamadas "funções de callback", que são executadas quando o processamento finaliza (de forma assíncrona).

Para que você possa compreender melhor essa prática sugerimos a leitura do artigo abaixo:

Testes

Os testes são uma etapa fundamental no desenvolvimento de software. Somente testando nossas aplicações podemos garantir que elas serão entregues ao cliente final com a maior qualidade possível.

Nesse contexto uma das práticas mais comuns é o TDD (Test-Driven Development), que prega a realização de testes durante todo o processo de desenvolvimento. Para aprender a usar o TDD em aplicações Node.js você pode ver o artigo abaixo, que lhe auxiliará na adoção dessa técnica:

MongoDB

O MongoDB é um banco de dados NoSQL orientado a documentos que armazena os dados no formato JSON. Entre suas principais características está a forma como ele lida com grandes volumes de dados mantendo a alta performance.

Para conhecer esse banco e começar a utilizá-lo, confira o curso abaixo:

E para saber como acessar o MongoDB a partir do Node.js, temos o seguinte curso:

Há ainda vários outros conteúdos sobre esse banco de dados NoSQL que você pode encontrar no Guia de Consulta de NoSQL e MongoDB:

Express

Atualmente o Express é o framework mais utilizado para o desenvolvimento de aplicações web com Node.js.  Além de facilitar a implementação do padrão MVC, ele conta com diversos pacotes adicionais para a realização de tarefas comuns, como o processamento de formulários, renderização de views, etc.

Que tal dar uma olhada nesse framework e considerar utilizá-lo em seus projetos? Para lhe ajudar preparamos um curso que vai lhe apresentar os conceitos iniciais sobre o Express:

AngularJS

O AngularJS é a primeira versão do framework que atualmente se chama apenas Angular. Enquanto seu sucessor assumiu o TypeScript como linguagem de programação principal, o AngularJS se baseia em JavaScript e, apesar das novas versões do framework, ele continua sendo usado em vários projetos.

No curso abaixo você aprenderá a trabalhar com o AngularJS, conhecendo seus principais conceitos:

Rotas e serviços

Rotas e serviços são dois componentes fundamentais do AngularJS. Enquanto as rotas tratam da forma como as páginas de uma aplicação são acessadas, os serviços definem blocos de lógica que podem ser reutilizados em diferentes pontos do projeto. Para que você possa se aprofundar nesses assuntos separamos os links abaixo:

Praticando

Agora que você já tem um bom conhecimento sobre esse framework, sugerimos aqui alguns vídeos práticos em que você verá como empregar o AngularJS na criação de diferentes aplicações:

E temos ainda alguns artigos com temas bem interessantes:

Integração com Java e .NET

Se você trabalha com Java e/ou .NET para aplicações web, já deve ter considerado a possibilidade de usar o AngularJS em seus projetos. Os artigos abaixo lhe ajudarão nessa implementação em Java:

E a seguir temos alguns conteúdos que demonstram a integração desse framework com o ASP.NET Web API:

Outros conteúdos

Os links abaixo trazem conteúdos para que você possa complementar seus estudos sobre o AngularJS:

Conteúdo extra

A criação de novos projetos, principalmente de aplicações web que envolve várias pastas e arquivos, pode se tornar um processo custoso se precisarmos configurar manualmente essa estrutura. Para auxiliar nesse momento pode ser bastante útil usar uma ferramenta de scaffold, ou seja, uma ferramenta que crie e configure a estrutura inicial do projeto. Nesse contexto o DevCast abaixo apresenta o Yeoman, uma das principais ferramentas utilizadas atualmente na criação de projetos web com diferentes linguagens e frameworks:

Mais sobre JavaScript

Além dos cursos e exemplos sugeridos nesse guia, a DevMedia publica com frequência novos conteúdos sobre JavaScript, os quais você pode conferir nos Guias de Consulta abaixo:

Você também pode acessar todo o conteúdo de JavaScript clicando aqui.

Ficou com alguma dúvida?