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 H Gomes
Prof. Eduardo H Gomes

Mestre em Engenharia da Informação, Especialista em Engenharia da Computação, Cientista da Computação, Professor de Inteligência Artificial, 18 anos de docência no Ensino Superior. Apaixonado por Surf, Paraglider, Mergulho livre, Tecnologia, SEO, Banco de Dados e Desenvolvimento Web.