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?

O primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.


Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.


Utilizar seu notebook em camas, sofás ou qualquer superfície macia pode obstruir as entradas e saídas de ar, elevando a temperatura e provocando danos a diversos componentes. Utilize-o sempre sobre uma superfície rígida. Saiba mais aqui.


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.


Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".