Pular para o conteúdoPedro Farbo
Lição 1 / 2530 min

Introdução ao Backend Moderno

Introdução ao Backend Moderno

Bem-vindo ao curso de Backend Completo com TypeScript! Nesta primeira aula, vamos entender o que é backend, como a web funciona e por que TypeScript é a escolha ideal para desenvolvimento de APIs modernas.

O que é Backend?

Quando você acessa um site ou aplicativo, existe uma divisão clara de responsabilidades:

  • Frontend: A interface que você vê e interage (HTML, CSS, JavaScript no navegador)
  • Backend: O servidor que processa dados, regras de negócio e armazena informações
┌─────────────┐         ┌─────────────┐         ┌─────────────┐
│   Cliente   │ ──────▶ │   Backend   │ ──────▶ │   Banco de  │
│  (Browser)  │ ◀────── │   (API)     │ ◀────── │    Dados    │
└─────────────┘         └─────────────┘         └─────────────┘

Responsabilidades do Backend

  1. Processar requisições HTTP - Receber e responder requests
  2. Lógica de negócio - Regras e validações da aplicação
  3. Acesso a dados - Comunicação com bancos de dados
  4. Autenticação e autorização - Controle de acesso
  5. Integrações - Comunicação com serviços externos

Como a Web Funciona

O Protocolo HTTP

HTTP (HyperText Transfer Protocol) é o protocolo de comunicação da web. Toda comunicação entre cliente e servidor segue esse padrão:

typescript
// Anatomia de uma requisição HTTP{  method: 'POST',              // Método (GET, POST, PUT, DELETE, etc)  url: '/api/users',           // Endpoint  headers: {                   // Metadados    'Content-Type': 'application/json',    'Authorization': 'Bearer token123'  },  body: {                      // Dados (quando aplicável)    name: 'João',    email: 'joao@email.com'  }}

Métodos HTTP Principais

MétodoUsoExemplo
GETBuscar dadosListar usuários
POSTCriar dadosCadastrar usuário
PUTAtualizar (completo)Atualizar todos os campos
PATCHAtualizar (parcial)Atualizar apenas o email
DELETERemoverExcluir usuário

Status Codes

Os códigos de resposta indicam o resultado da operação:

typescript
// Respostas de sucesso (2xx)200 // OK - Requisição bem sucedida201 // Created - Recurso criado204 // No Content - Sucesso sem corpo de resposta // Erros do cliente (4xx)400 // Bad Request - Dados inválidos401 // Unauthorized - Não autenticado403 // Forbidden - Sem permissão404 // Not Found - Recurso não encontrado422 // Unprocessable Entity - Validação falhou // Erros do servidor (5xx)500 // Internal Server Error - Erro no servidor503 // Service Unavailable - Servidor indisponível

Por que TypeScript no Backend?

1. Segurança de Tipos

typescript
// JavaScript - Bug silenciosofunction processPayment(amount, userId) {  // amount pode ser undefined, string, NaN...  return amount * 1.1; // Pode retornar NaN} // TypeScript - Erro em tempo de desenvolvimentofunction processPayment(amount: number, userId: string): number {  return amount * 1.1; // Garantido que é um número}

2. Melhor Experiência de Desenvolvimento

  • Autocompletar inteligente - A IDE sabe os tipos disponíveis
  • Refatoração segura - Mudanças são propagadas automaticamente
  • Documentação inline - Tipos servem como documentação

3. Menos Bugs em Produção

Estudos mostram que TypeScript pode prevenir até 15% dos bugs que chegariam à produção.

4. Escalabilidade

Em projetos grandes com múltiplos desenvolvedores, TypeScript:

  • Facilita entender código de outros
  • Previne alterações que quebram contratos
  • Torna a manutenção mais segura

Node.js: JavaScript no Servidor

Node.js permite executar JavaScript/TypeScript fora do navegador:

typescript
// server.tsimport http from 'http'; const server = http.createServer((req, res) => {  res.writeHead(200, { 'Content-Type': 'application/json' });  res.end(JSON.stringify({ message: 'Hello from Node.js!' }));}); server.listen(3000, () => {  console.log('Servidor rodando em http://localhost:3000');});

Vantagens do Node.js

  1. Event Loop não-bloqueante - Alta performance para I/O
  2. JavaScript em toda stack - Mesma linguagem no front e back
  3. NPM - Maior ecossistema de pacotes do mundo
  4. Comunidade ativa - Muitos recursos e suporte

O que Vamos Construir

Ao longo deste curso, você vai construir uma API de E-commerce completa com:

  • 🔐 Autenticação JWT
  • 👥 Gestão de usuários com roles
  • 📦 Catálogo de produtos e categorias
  • 🛒 Carrinho de compras
  • 💳 Processamento de pedidos
  • 📧 Notificações por email
  • 📊 Dashboard administrativo
  • 🧪 Testes automatizados
  • 🐳 Deploy com Docker

Próximos Passos

Na próxima aula, vamos configurar todo o ambiente de desenvolvimento com:

  • Node.js e npm
  • TypeScript
  • ESLint e Prettier
  • VS Code com extensões recomendadas

Prepare seu computador e vamos começar a codar! 🚀

Gostou do conteúdo? Sua contribuição ajuda a manter tudo online e gratuito!

PIX:0737160d-e98f-4a65-8392-5dba70e7ff3e