Skip to main content

Arquivo manifest | Frontend

  • manifest.json | Frontend

O que é o arquivo manifest.json e onde utilizá-lo?

O arquivo manifest.json é utilizado para configurar e fornecer metadados essenciais sobre uma aplicação ou extensão. Ele é particularmente importante para extensões de navegadores, aplicações web progressivas (PWA) e até aplicações desktop. Com a versão 3 do manifest, houve algumas mudanças, principalmente em como os scripts e processos de fundo são gerenciados.

Extensões de Navegadores (Chrome, Firefox, etc.)

  • Função: O arquivo manifest.json define as configurações principais de como a extensão do navegador deve se comportar. Ele inclui informações como nome, versão, permissões necessárias, scripts de fundo, etc.
  • Onde usar: Em extensões de navegador, como no Google Chrome, Microsoft Edge, Opera, Firefox e outros.

Exemplo de manifest.json versão 3 para uma extensão de navegador:

{
"manifest_version": 3,
"name": "Minha Extensão",
"version": "1.0",
"description": "Descrição da minha extensão.",
"permissions": [
"tabs",
"storage"
],
"background": {
"service_worker": "background.js"
},
"action": {
"default_popup": "popup.html",
"default_icon": {
"16": "icons/icon16.png",
"48": "icons/icon48.png",
"128": "icons/icon128.png"
}
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content.js"]
}
],
"icons": {
"16": "icons/icon16.png",
"48": "icons/icon48.png",
"128": "icons/icon128.png"
}
}

Mudanças importantes na versão 3:

  • O uso de service workers no lugar de scripts de fundo persistentes. Isso melhora o desempenho e a eficiência, pois o service worker é ativado apenas quando necessário.
  • A chave background agora usa service_worker, ao invés de scripts como na versão 2.
  • Ação do popup (default_popup) foi movida para a chave action, uma mudança significativa de estrutura.

Aplicações Web Progressivas (PWA)

  • Função: Em uma PWA, o manifest.json descreve como o aplicativo se comportará quando instalado no dispositivo do usuário, incluindo o nome do app, ícones, tela inicial, cor do tema e a URL inicial.
  • Onde usar: Em aplicativos web que você deseja tornar "instaláveis", ou seja, onde o usuário pode adicionar o aplicativo à tela inicial de seu dispositivo.

Exemplo de manifest.json versão 3 para uma PWA:

{
"name": "Meu Aplicativo Web",
"short_name": "Aplicativo",
"description": "Uma descrição do meu aplicativo.",
"start_url": "/index.html",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#000000",
"icons": [
{
"src": "icons/icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "icons/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}

Aqui, o manifest também segue a estrutura da versão 3, onde as propriedades permanecem as mesmas em relação a uma PWA, mas o foco está em como o aplicativo será exibido quando instalado no dispositivo.

Aplicações de Desktop (ex.: Electron)

  • Função: Em aplicativos desktop criados com frameworks como o Electron, o manifest.json é utilizado para definir o comportamento do aplicativo. Embora o Electron não utilize diretamente a versão 3 do manifest como no caso das extensões, o conceito de metadados e configurações ainda se aplica.
  • Onde usar: Em projetos de aplicativos desktop, como os que utilizam o Electron, para definir a estrutura e as configurações do aplicativo.

Resumo das Utilizações do manifest.json versão 3

O manifest.json versão 3 é utilizado principalmente em:

  • Extensões de navegador (Chrome, Firefox, Edge) para configurar como a extensão deve se comportar.
  • Aplicações Web Progressivas (PWA) para descrever o comportamento do aplicativo quando instalado em dispositivos.
  • Aplicações desktop como no Electron, para definir a estrutura do aplicativo.

As mudanças na versão 3 de extensões de navegador se concentram principalmente no uso de service workers para background scripts e uma nova estrutura para a chave action.

Esses arquivos são cruciais para garantir que as plataformas (navegadores, dispositivos móveis e desktops) possam entender e executar o aplicativo ou extensão corretamente.

Exemplos