Um banco de dados NoSQL reativo e local-first para apps JavaScript, executado em navegadores, Node.js, React Native e Electron, com replicação para seu próprio backend.
dexie/Dexie.js
Um wrapper minimalista em TypeScript para o IndexedDB, o banco de dados integrado aos navegadores, com uma API de consultas mais simples.
- Estrelas
- 14,658
- Forks
- 719
- Issues abertas
- 584
- Último commit
- anteontem
O que é?
O Dexie.js encapsula o IndexedDB, o banco de dados padrão do lado do cliente integrado a todos os navegadores modernos, e facilita a definição de tabelas, a gravação de dados e a execução de consultas. Os esquemas são declarados com uma sintaxe curta e versionada, e as consultas usam uma API encadeável que oferece suporte a índices, intervalos, filtros e operações em lote.
A biblioteca contorna bugs de várias implementações do IndexedDB para oferecer um comportamento mais consistente entre navegadores. Ela funciona em apps web puros e PWAs, além de poder ser usada em apps desktop com Electron e em apps iOS e Android baseados em Capacitor. Os typings estão incluídos, e a biblioteca pode ser carregada via npm ou por uma tag script.
Para sincronização em tempo real, autenticação e colaboração, o projeto oferece o Dexie Cloud como um addon separado, que pode ser usado com um serviço hospedado ou em self-hosting.
Recursos principais
- 01API de consultas encadeável com índices, intervalos e filtros em tabelas do IndexedDB.
- 02Declaração de esquemas versionados usando uma sintaxe concisa em string.
- 03Operações em lote, como bulkPut e bulkAdd, para gravações mais rápidas.
- 04Contorna bugs específicos dos navegadores no IndexedDB para oferecer um comportamento mais estável.
- 05Compatível com navegadores, Electron e apps Capacitor, com typings do TypeScript incluídos.
- 06Addon opcional Dexie Cloud para sincronização e autenticação.
Casos de uso
- Criar PWAs que funcionam offline e armazenam dados localmente no navegador.
- Armazenar em cache respostas de API ou dados do usuário no cliente para reduzir as idas e voltas à rede.
- Armazenar dados do app em um app desktop com Electron ou em um app móvel com Capacitor.
- Adicionar sincronização local-first a um app web existente com o Dexie Cloud.
Início rápido
- 1
Instale o Dexie via npm
npm install dexie - 2
Declare um banco de dados e uma tabela e, em seguida, faça consultas no código do seu app (consulte o exemplo Hello World no README)
Antes de usar
- O Dexie encapsula o IndexedDB, por isso só funciona em ambientes semelhantes a navegadores, como navegadores, Electron ou Capacitor.
Em coleções
Tópicos
Perguntas frequentes
- O que é Dexie.js?
- Um wrapper minimalista em TypeScript para o IndexedDB, o banco de dados integrado aos navegadores, com uma API de consultas mais simples. O Dexie.js encapsula o IndexedDB, o banco de dados padrão do lado do cliente integrado a todos os navegadores modernos, e facilita a definição de tabelas, a gravação de dados e a execução de consultas. Os esquemas são declarados com uma sintaxe curta e versionada, e as consultas usam uma API encadeável que oferece suporte a índices, intervalos, filtros e operações em lote.
- Dexie.js é gratuito? Qual é a licença?
- Dexie.js é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- Dexie.js ainda é mantido?
- Manutenção ativa. O último commit de Dexie.js foi em 21 de out. de 2026.
- Para que posso usar Dexie.js?
- Criar PWAs que funcionam offline e armazenam dados localmente no navegador. Armazenar em cache respostas de API ou dados do usuário no cliente para reduzir as idas e voltas à rede. Armazenar dados do app em um app desktop com Electron ou em um app móvel com Capacitor. Adicionar sincronização local-first a um app web existente com o Dexie Cloud.
- Como instalar Dexie.js?
- Instale o Dexie via npm: npm install dexie Declare um banco de dados e uma tabela e, em seguida, faça consultas no código do seu app (consulte o exemplo Hello World no README)
- Onde consigo Dexie.js?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/dexie/Dexie.js
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Build de Postgres em WASM incorporável, distribuído como biblioteca TypeScript e executado em navegadores, Node.js, Bun e Deno.
Postgres serverless de código aberto que separa armazenamento e computação, com autoscaling, ramificações de banco de dados e scale-to-zero.
Visualizador e editor no navegador para arquivos Word, Excel e PowerPoint, que processa documentos localmente usando WebAssembly.
Uma ferramenta de edição de legendas para vídeos no navegador, que permite editar, estilizar e incorporar legendas em arquivos MP4 locais, com transcrição opcional usando Whisper no próprio dispositivo.
Gerenciador de fotos para desktop, offline-first, para macOS, Windows e Linux, com busca por IA local, agrupamento por rostos e remoção de duplicatas em grandes bibliotecas.