Leodario.com

Leodario.com – Tudo sobre Tecnologia

Aula 2 – API JavaScript, Node.js e Express – Cliente vs Servidor – Arquitetura web básica

Imagem destacada da aula de API

Introdução (3 min)

Imagine um restaurante. Você, o cliente, se senta, olha o cardápio (a interface) e faz um pedido ao garçom. O garçom leva o pedido para a cozinha (o servidor), onde os cozinheiros preparam a comida. Pronto, o garçom retorna com o seu prato. Essa interação cliente-servidor é a base da web.

Compreender essa dinâmica é essencial para construir APIs modernas, pois define como as informações trafegam entre aplicações. Nesta aula, você vai entender a fundo o que são cliente e servidor, como interagem e como criar um servidor básico com Node.js e Express.

No contexto Node.js/Express, o Node.js provê o ambiente de execução e o Express facilita a criação do servidor, definindo rotas e gerenciando requisições.

Conceito Fundamental (7 min)

O cliente é qualquer aplicação que solicita informações. Pode ser um navegador web, um aplicativo mobile, ou outro programa. O servidor, por sua vez, é a aplicação que recebe a solicitação, processa e retorna uma resposta. A comunicação ocorre através da internet, usando protocolos como HTTP.

Um caso de uso real é um aplicativo de previsão do tempo. O aplicativo no seu celular (cliente) envia uma requisição para um servidor. O servidor consulta um banco de dados meteorológicos, processa os dados e retorna a previsão do tempo para o aplicativo.

Essa arquitetura se integra com diversas tecnologias, como bancos de dados (MySQL, PostgreSQL, MongoDB), sistemas de cache (Redis) e serviços de autenticação.

Vantagens: Permite a centralização da lógica e dos dados, facilita a manutenção e escalabilidade.

Desvantagens: Um servidor sobrecarregado pode afetar todos os clientes. Requer uma infraestrutura robusta.

Implementação Prática (10 min)


// Importa o módulo Express
const express = require('express');

// Cria uma instância do aplicativo Express const app = express(); const port = 3000; // Porta padrão para HostGator Plano M

// Rota principal ("/") app.get('/', (req, res) => { // Log da requisição - Prática Enterprise console.log(Requisição recebida para a rota raiz às ${new Date()});

// Responde com uma mensagem res.send('Olá, Mundo! Este é o seu servidor em Node.js e Express rodando no HostGator Plano M.'); });

// Inicia o servidor e escuta na porta especificada app.listen(port, () => { console.log(Servidor escutando na porta ${port}); });

Comentários:

    • require('express'): Importa a biblioteca Express.
    • app = express(): Cria o aplicativo.
    • app.get('/', ...): Define a rota principal e a função que a trata.
    • req: Objeto com informações da requisição.
    • res: Objeto para enviar a resposta.
    • res.send(...): Envia a resposta ao cliente.
    • app.listen(port, ...): Inicia o servidor na porta 3000 (padrão HostGator Plano M).

Exercício Hands-On (5 min)

Desafio: Crie uma nova rota /sobre que retorne a mensagem “Esta é a página Sobre”.

Solução:


app.get('/sobre', (req, res) => {
  console.log(Requisição recebida para a rota /sobre às ${new Date()});
  res.send('Esta é a página Sobre');
});

Teste: Acesse http://localhost:3000/sobre no seu navegador.

Troubleshooting: Certifique-se que o servidor está rodando. Verifique se digitou o endereço corretamente.

Próximos passos: Explore outras rotas e métodos HTTP (POST, PUT, DELETE). Aprenda a usar middlewares e a conectar com um banco de dados.

🚀 Pronto para a próxima aula?

Continue sua jornada no desenvolvimento de APIs e domine Node.js & Express!

📚 Ver todas as aulas