[go: up one dir, main page]

0% acharam este documento útil (0 voto)
25 visualizações3 páginas

Mini Resumo - Node - Js

Node.js é um ambiente de execução JavaScript do lado do servidor, ideal para criar aplicações de rede rápidas e escaláveis, utilizando um modelo assíncrono e orientado a eventos. Possui um vasto ecossistema de pacotes através do NPM e é amplamente utilizado em APIs RESTful e aplicações em tempo real. Apesar de suas vantagens, como alta performance em operações de I/O, não é recomendado para processamento intensivo de CPU.

Enviado por

xacan52466
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
25 visualizações3 páginas

Mini Resumo - Node - Js

Node.js é um ambiente de execução JavaScript do lado do servidor, ideal para criar aplicações de rede rápidas e escaláveis, utilizando um modelo assíncrono e orientado a eventos. Possui um vasto ecossistema de pacotes através do NPM e é amplamente utilizado em APIs RESTful e aplicações em tempo real. Apesar de suas vantagens, como alta performance em operações de I/O, não é recomendado para processamento intensivo de CPU.

Enviado por

xacan52466
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 3

Node.

js
Mini Resumo

O que é Node.js
Node.js é um ambiente de execução JavaScript do lado do servidor, construído sobre o motor V8 do
Google Chrome. Permite executar código JavaScript fora do navegador, criando aplicações de rede
rápidas e escaláveis.

Características Principais
1. Assíncrono e Orientado a Eventos: Operações não bloqueantes através de callbacks, promessas e
async/await.
2. Modelo de I/O sem bloqueio: Ideal para aplicações com muitas operações de entrada/saída.
3. Única thread com loop de eventos: Gerencia múltiplas conexões simultaneamente sem criar novas
threads.
4. NPM (Node Package Manager): Enorme ecossistema de pacotes reutilizáveis.

5. Cross-platform: Funciona em Windows, macOS e Linux.

Casos de Uso Comuns


APIs RESTful
Aplicações em tempo real (chat, jogos)

Ferramentas de linha de comando


Microsserviços

Streaming de dados

Exemplo Básico

javascript

// Criando um servidor HTTP simples


const http = require('http');

const servidor = http.createServer((req, res) => {


res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Olá Mundo!');
});

servidor.listen(3000, () => {
console.log('Servidor rodando em http://localhost:3000/');
});
Estrutura Típica de Projeto

projeto/
├── node_modules/ // Pacotes instalados
├── src/ // Código fonte
│ ├── controllers/ // Controladores
│ ├── models/ // Modelos de dados
│ ├── routes/ // Rotas da API
│ └── index.js // Ponto de entrada
├── tests/ // Testes
├── .env // Variáveis de ambiente
├── .gitignore // Arquivos ignorados pelo git
├── package.json // Dependências e scripts
└── README.md // Documentação

Frameworks Populares
Express.js: Framework web minimalista

NestJS: Framework estruturado inspirado no Angular


Fastify: Alternativa de alta performance ao Express

Koa: Criado pela equipe do Express, mais leve

Gerenciamento de Pacotes

bash

# Iniciar novo projeto


npm init

# Instalar pacote
npm install express

# Instalar pacote de desenvolvimento


npm install --save-dev jest

# Executar script definido no package.json


npm run start

Conceitos Avançados
Event Loop: Mecanismo que permite I/O não-bloqueante

Módulos: Sistema de organização de código (CommonJS e ES Modules)


Streams: Processamento de dados por partes
Buffers: Manipulação de dados binários
Worker Threads: Processamento paralelo para tarefas intensivas em CPU
Cluster: Aproveitamento de múltiplos núcleos do processador

Vantagens
Mesma linguagem no frontend e backend (JavaScript/TypeScript)
Alta performance para operações I/O

Grande ecossistema de pacotes


Comunidade ativa e bem estabelecida
Ótimo para prototipagem rápida e APIs

Desvantagens
Não ideal para processamento intensivo de CPU
Callbacks podem levar a "callback hell" (resolvido com Promises/async-await)

Mudanças frequentes no ecossistema

Conclusão
Node.js revolucionou o desenvolvimento backend ao permitir que desenvolvedores JavaScript
construam aplicações completas de servidor. Seu modelo assíncrono e orientado a eventos é
particularmente eficaz para aplicações escaláveis com muitas operações de I/O simultâneas.

Você também pode gostar