Visão consolidada do ecossistema Node.js: runtimes, frameworks, ORMs, pacotes e ferramentas. Baseado em nodejs.org, npm e documentação oficial.
| Runtime | Motor | Características |
|---|
| Node.js | V8 (Chrome) | Ecossistema maior (~2,5M pacotes npm), adoção enterprise, estabilidade. nodejs.org |
| Bun | JavaScriptCore (WebKit) | Alto desempenho, TypeScript nativo, bundler/test runner/package manager integrados. bun.sh |
| Deno | V8 | Segurança por padrão, TypeScript nativo, JSR registry, compatível com npm. deno.com |
Quando escolher: Node.js para compatibilidade e ecossistema; Bun para performance e DX; Deno para projetos greenfield e segurança.
| Framework | Uso | Características |
|---|
| Express | APIs e web | Mais popular (58M+ downloads/semana). Minimalista, flexível. expressjs.com |
| Fastify | APIs de alta performance | Plugin-based, baixo overhead, alta taxa de throughput. fastify.dev |
| Nest.js | Aplicações enterprise | TypeScript-first, DI, modular, inspirado em Angular. Suporta Express ou Fastify. nestjs.com |
| Koa | Web leve | Menos boilerplate que Express, composição via middlewares. koajs.com |
| Hapi | APIs robustas | Config-driven, validação integrada. hapi.dev |
| Sails | MVC full-stack | ORM, APIs REST automáticas. sailsjs.com |
| Ferramenta | Tipo | Uso |
|---|
| Prisma | ORM | TypeScript-first, migrations declarativas, suporte PostgreSQL, MySQL, SQLite, MongoDB. prisma.io |
| TypeORM | ORM | Decorators, suporte a múltiplos bancos, migrations. typeorm.io |
| Sequelize | ORM | Suporte a PostgreSQL, MySQL, SQLite, MSSQL. sequelize.org |
| Knex | Query builder | Flexível, migrations. knexjs.org |
| Categoria | Pacotes |
|---|
| Validação | Zod, Joi, Yup |
| Testes | Jest, Vitest, Mocha, Chai |
| HTTP cliente | Axios, undici (nativo), fetch |
| Logging | Pino, Winston |
| Envio de eventos | EventEmitter (built-in), EventEmitter3 |
| Processamento | Bull/BullMQ (filas), node-cron |
- Event loop — I/O não-bloqueante, escalabilidade
- Módulos built-in —
http, fs, path, crypto, cluster, child_process
- npm — Gerenciador de pacotes padrão
- pnpm / yarn — Alternativas mais rápidas e com workspace