Angular 2 e Nodejs – O guia prático para a pilha MEAN 2.0

Angular 2 e Nodejs - O guia prático para a pilha MEAN 2.0

Primeiramente, entender como Angular 2 e Nodejs se conectam é essencial para qualquer desenvolvedor que deseja se aprofundar na pilha MEAN 2.0. Essa combinação oferece uma base sólida para construir aplicações web modernas, altamente responsivas e escaláveis. A princípio, este guia prático foi criado para simplificar o processo de desenvolvimento usando essa poderosa tecnologia. Vamos mergulhar nas particularidades de cada componente e descobrir como podemos utilizá-los em harmonia.

O que é a pilha MEAN 2.0?

Antes de tudo, vamos entender o que realmente significa a pilha MEAN 2.0. Trata-se de um conjunto de tecnologias que inclui MongoDB, Express, Angular 2 e Nodejs. Além disso, essas ferramentas funcionam de forma integrada para facilitar o desenvolvimento de aplicações web completas, desde o front-end até o back-end.

MongoDB: A base de dados flexível

Primeiramente, o MongoDB é uma base de dados NoSQL que permite armazenar dados de forma flexível. Ele trabalha com documentos em formato JSON, o que facilita a integração com as outras tecnologias da pilha.

Express: O framework leve para Nodejs

A princípio, o Express é um framework minimalista para Nodejs. Ele simplifica a criação de APIs robustas, além de gerenciar as rotas e middleware de forma eficiente.

Angular 2: A evolução no front-end

Por outro lado, o Angular 2 revolucionou o desenvolvimento front-end com sua arquitetura baseada em componentes. Isso permite a criação de interfaces de usuário dinâmicas e altamente interativas.

Nodejs: O motor por trás do servidor

Por fim, temos o Nodejs, que possibilita o uso de JavaScript no lado do servidor. Com Nodejs, podemos construir aplicações escaláveis, utilizando o mesmo ambiente de programação tanto no cliente quanto no servidor.

Por que escolher Angular 2 e Nodejs?

Sobretudo, a combinação de Angular 2 e Nodejs oferece uma série de vantagens que não podem ser ignoradas. Em primeiro lugar, ambos utilizam JavaScript, o que simplifica o processo de desenvolvimento ao manter uma linguagem consistente em toda a aplicação.

Vantagens da integração entre Angular 2 e Nodejs

Além disso, Angular 2 se destaca pela sua modularidade e reatividade, enquanto Nodejs oferece um ambiente de execução rápido e não bloqueante. Juntos, eles proporcionam um fluxo de trabalho mais ágil e uma curva de aprendizado mais suave.

Configurando o ambiente MEAN 2.0

Antes de mais nada, vamos configurar nosso ambiente de desenvolvimento. Para isso, é necessário ter o Nodejs instalado. Em seguida, utilizaremos o npm (Node Package Manager) para instalar as demais dependências.

Instalando o Nodejs

A princípio, faça o download do instalador de Nodejs no site oficial. Após a instalação, verifique se tudo está funcionando corretamente digitando node -v no terminal.

Configurando o Angular CLI

Para começar a trabalhar com Angular 2, é necessário instalar o Angular CLI. Utilize o comando
npm install -g @angular/cli para fazer isso. Com a CLI instalada, podemos criar novos projetos Angular com facilidade.

Construindo a primeira aplicação com Angular 2 e Nodejs

Acima de tudo, agora que nosso ambiente está configurado, vamos construir uma aplicação simples utilizando Angular 2 e Nodejs. O objetivo é criar um CRUD (Create, Read, Update, Delete) básico para gerenciar uma lista de tarefas.

Criando o backend com Nodejs e Express

Antes de mais nada, vamos começar pelo backend. Crie uma nova pasta para o projeto e dentro dela, inicialize um novo projeto Nodejs com o comando npm init -y. Em seguida, instale o Express com npm install express --save.

Configurando as rotas no Express

Do mesmo modo, vamos configurar as rotas para as operações de CRUD. Crie um arquivo chamado app.js e dentro dele, defina as rotas utilizando o Express.


**const express = require('express');**
**const app = express();**
**const port = 3000;**

**app.use(express.json());**

**app.get('/tasks', (req, res) => {**
  **res.send('Get all tasks');**
**});**

**app.post('/tasks', (req, res) => {**
  **res.send('Create a new task');**
**});**

**app.put('/tasks/:id', (req, res) => {**
  **res.send(`Update task with ID: ${req.params.id}`);**
**});**

**app.delete('/tasks/:id', (req, res) => {**
  **res.send(`Delete task with ID: ${req.params.id}`);**
**});**

**app.listen(port, () => {**
  **console.log(`Server running at http://localhost:${port}`);**
**});**

Nesse trecho de código, configuramos as rotas básicas para nosso CRUD. Com essas rotas, podemos gerenciar nossas tarefas diretamente do backend. O próximo passo é integrar esse backend com a interface que será construída em Angular 2.

Conectando o Angular 2 ao backend

Agora que o backend está configurado, vamos criar a interface utilizando Angular 2. Primeiro, crie um novo projeto Angular usando o comando ng new task-manager. Após isso, navegue até a pasta do projeto e inicie o servidor de desenvolvimento com ng serve.

Criando os serviços para consumir a API

Em Angular 2, utilizamos serviços para fazer a comunicação com o backend. Crie um novo serviço chamado task.service.ts dentro da pasta src/app/services. Esse serviço será responsável por enviar as requisições HTTP para o Nodejs.

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class TaskService {
  private apiUrl = 'http://localhost:3000/tasks';

  constructor(private http: HttpClient) {}

  getTasks(): Observable<any> {
    return this.http.get(this.apiUrl);
  }

  createTask(task: any): Observable<any> {
    return this.http.post(this.apiUrl, task);
  }

  updateTask(id: string, task: any): Observable<any> {
    return this.http.put(`${this.apiUrl}/${id}`, task);
  }

  deleteTask(id: string): Observable<any> {
    return this.http.delete(`${this.apiUrl}/${id}`);
  }
}

Esse serviço irá gerenciar as operações de CRUD, interagindo com as rotas que criamos no backend. Agora, você pode utilizar esse serviço nos componentes do Angular para exibir, criar, editar e deletar tarefas.

Conclusão

Neste guia prático, exploramos a integração entre Angular 2 e Nodejs na construção de uma aplicação web utilizando a pilha MEAN 2.0. Desde a configuração do ambiente até a criação de um CRUD básico, cobrimos as bases para iniciar o desenvolvimento de aplicações completas e escaláveis. A combinação de Angular 2 e Nodejs permite um fluxo de trabalho consistente e uma maior produtividade, aproveitando o poder do JavaScript em todo o stack.

FAQ

O que é a pilha MEAN 2.0?

A pilha MEAN 2.0 é um conjunto de tecnologias que inclui MongoDB, Express, Angular 2 e Nodejs. Essas ferramentas funcionam de maneira integrada para facilitar o desenvolvimento de aplicações web completas, desde o front-end até o back-end.

Por que escolher Angular 2 e Nodejs juntos?

A combinação de Angular 2 e Nodejs é vantajosa porque ambos utilizam JavaScript, o que simplifica o desenvolvimento ao manter uma linguagem consistente em toda a aplicação. Além disso, Angular 2 oferece modularidade e reatividade, enquanto Nodejs proporciona um ambiente de execução rápido e não bloqueante.

Como configurar o ambiente para a pilha MEAN 2.0?

Para configurar o ambiente MEAN 2.0, você precisa instalar o Nodejs e o Angular CLI. Após isso, é possível criar novos projetos Angular, configurar o backend com Express e integrar as duas partes para construir aplicações web completas.

Angular 2 e Nodejs - O guia prático
Prof. Eduardo Henrique Gomes
Prof. Eduardo Henrique Gomes

Apaixonado por tecnologia e análise de gadgets, trazendo reviews e insights para a Web Academy.