Até agora, aprendemos a armazenar dados usando localStorage e sessionStorage.

Essas soluções funcionam muito bem — até certo ponto.

Nesta aula, vamos conhecer uma alternativa mais poderosa:

o IndexedDB.

Não vamos entrar em código complexo ainda. O foco aqui é entender o porquê ele existe.

🎯 Objetivo da aula

Ao final desta aula, você será capaz de:

  • Entender o que é o IndexedDB
  • Saber por que o localStorage tem limitações
  • Identificar quando usar IndexedDB
  • Visualizar IndexedDB como um banco de dados no navegador
  • Preparar o terreno para aplicações offline mais avançadas

O problema do localStorage

O localStorage é simples e muito útil, mas tem limitações importantes:

  • Só armazena strings
  • Não é eficiente para grandes volumes de dados
  • Não permite buscas complexas
  • Não trabalha bem com dados estruturados

Para aplicações maiores, isso começa a virar um problema.

O que é o IndexedDB?

O IndexedDB é um sistema de armazenamento que funciona como:

um banco de dados dentro do navegador.

Ele permite:

  • Armazenar grandes quantidades de dados
  • Guardar objetos JavaScript diretamente
  • Criar índices para busca
  • Trabalhar de forma assíncrona
Pense no IndexedDB como um “mini MySQL” do navegador (conceitualmente).

IndexedDB vs localStorage

  • localStorage → simples e rápido
  • IndexedDB → robusto e estruturado

Ambos têm seu lugar.

Por que o IndexedDB é assíncrono?

Diferente do localStorage, o IndexedDB:

  • Não bloqueia a interface
  • Não trava a página
  • É seguro para grandes operações

Isso é essencial para aplicações modernas.

Operações síncronas com grandes volumes podem travar o navegador.

Quando usar IndexedDB?

Use IndexedDB quando:

  • Você precisa guardar muitos dados
  • Os dados são objetos complexos
  • Busca e filtragem são importantes
  • A aplicação precisa funcionar offline

Exemplos reais:

  • Apps de notas offline
  • Kanban com sincronização posterior
  • Aplicações PWA robustas
  • Cache de dados vindos de APIs

IndexedDB e PWAs

Em PWAs mais avançados:

  • Service Worker → cache de arquivos
  • IndexedDB → dados da aplicação

Essa dupla permite:

  • Aplicações offline-first
  • Sincronização posterior
  • Experiência próxima de apps nativos
IndexedDB é a base para sincronização offline profissional.

Você não precisa dominar agora

Essa aula é introdutória por um motivo:

  • IndexedDB tem API mais extensa
  • Exige cuidado com assincronicidade
  • É um passo natural após dominar os fundamentos

Vamos avançar para ele com calma, quando fizer sentido.

Resumo da aula para nunca mais esquecer

  • localStorage é simples, mas limitado
  • IndexedDB é um banco de dados no navegador
  • Ideal para grandes volumes e dados complexos
  • Funciona de forma assíncrona
  • É peça-chave para PWAs avançados

Na próxima aula, vamos começar a trabalhar com o IndexedDB na prática, passo a passo, sem pressa e sem sustos.


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.


O console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.


O título Space Invaders, lançado em 1980, fez tanto sucesso em todo o mundo que as pessoas compravam o console Atari apenas para poderem jogá-lo em casa. Saiba mais sobre este incrível título clicando aqui.


Criar um jogo é muito mais complexo do que parece. São milhares, às vezes, milhões de linhas de código. Isso não é exagero! Apenas o jogo Ultima Online possui 6.006.313 linhas de programação, totalizando 25.103.295 palavras


O personagem Mario surgiu pela primeira vez no mundo dos games em um jogo chamado Donkey Kong, lançado em 1981. Mario, que naquela época se chamava Jumpman, não era o personagem principal do jogo, mas ele se tornaria um dos mais famosos personagens do mundo dos games. Saiba mais.