Leodario.com

Leodario.com – Tudo sobre Tecnologia

Aula 19 – API JavaScript, Node.js e Express – Node.js Introduction – Runtime JavaScript servidor

Imagem destacada da aula de API

Introdução (3 min)

Imagine um garçom em um restaurante. Ele é o intermediário entre você e a cozinha. Você faz o pedido (requisição), ele o leva para a cozinha, a cozinha prepara o prato (processamento) e o garçom traz a comida de volta para você (resposta). O Node.js é como esse garçom, mas para aplicações web. Ele recebe requisições, processa-as e envia respostas, permitindo a criação de APIs robustas e interativas.

Dominar Node.js é essencial para construir APIs modernas, pois ele fornece as ferramentas necessárias para lidar com requisições assíncronas de forma eficiente, viabilizando aplicações em tempo real e de alta performance. Nesta aula, vamos criar um servidor web simples com Node.js que responderá a uma requisição com uma mensagem personalizada, demonstrando o funcionamento básico dessa tecnologia.

Dentro do ecossistema Node.js/Express, o Node.js funciona como o motor principal, enquanto o Express.js atua como uma camada simplificadora para construir aplicações web e APIs. O Node.js fornece a base, e o Express.js facilita o desenvolvimento.

Conceito Fundamental (7 min)

Node.js é um ambiente de execução JavaScript do lado do servidor. Isso significa que ele permite executar código JavaScript fora de um navegador web, diretamente no servidor. Diferentemente do JavaScript do lado do cliente, que roda no navegador do usuário, o Node.js executa no servidor, possibilitando o acesso a recursos do sistema, como arquivos e bancos de dados.

A terminologia importante aqui é runtime, que se refere ao ambiente onde o código é executado. O Node.js utiliza o V8, o mesmo motor JavaScript de alto desempenho do Chrome, para executar o código de forma eficiente.

Casos de uso reais do Node.js em produção incluem: construção de APIs RESTful, aplicações de streaming de dados em tempo real, servidores de chat, microsserviços e muito mais.

O Node.js se integra perfeitamente com outras tecnologias, como bancos de dados (MongoDB, PostgreSQL, MySQL), frameworks frontend (React, Angular, Vue.js) e ferramentas de desenvolvimento (npm, yarn).

Vantagens: Alta performance, comunidade ativa, ecossistema rico, desenvolvimento rápido.

Desvantagens: Pode ser complexo para aplicações CPU-bound, callbacks hell (resolvido com async/await).

Implementação Prática (10 min)

// Importa o módulo http nativo do Node.js
const http = require('http');

// Define a porta que o servidor irá escutar const PORT = process.env.PORT || 3000; // Usa a porta definida pelo HostGator ou 3000 como padrão

// Cria o servidor const server = http.createServer((req, res) => { // Define o cabeçalho da resposta com o tipo de conteúdo e o código de status res.writeHead(200, { 'Content-Type': 'text/plain' });

// Escreve a mensagem na resposta res.write('Olá do Node.js no HostGator Plano M!\n');

// Finaliza a resposta res.end(); });

// Inicia o servidor e escuta na porta especificada server.listen(PORT, () => { console.log(Servidor rodando na porta ${PORT}); });

// Tratamento básico de erros server.on('error', (err) => { console.error('Erro no servidor:', err); });


Instala o Node.js e o npm (se necessário)

📚 Informações da Aula

Curso: API Completo - Node.js & Express

Tempo estimado: 25 minutos

Pré-requisitos: JavaScript básico

No HostGator, o Node.js e npm geralmente já estão instalados

Cria um arquivo chamado server.js

Cole o código acima no server.js

Inicia o servidor

node server.js

Este código cria um servidor web básico que escuta na porta 3000 (ou na porta definida pelo HostGator) e responde a qualquer requisição com a mensagem “Olá do Node.js no HostGator Plano M!”.

Exercício Hands-On (5 min)

Modifique o código para que o servidor retorne “Bem-vindo à minha primeira API!” e rode na porta 8080.

Solução:

// ... (código anterior)
const PORT = 8080;
// ... (código anterior)
res.write('Bem-vindo à minha primeira API!\n');
// ... (código anterior)

Teste:

Acesse http://localhost:8080 no seu navegador.

Troubleshooting:

Se o servidor não iniciar, verifique se a porta 8080 está disponível. Se outra aplicação estiver usando essa porta, você precisará encerrá-la ou usar uma porta diferente.

Próximos passos:

Explore a documentação oficial do Node.js (nodejs.org) e do Express.js (expressjs.com) para aprofundar seus conhecimentos e aprender a construir APIs mais complexas.

🚀 Pronto para a próxima aula?

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

📚 Ver todas as aulas