Opções de migração
Há duas opções principais para migrar de apps do Chrome: aplicativos da Web e extensões do Chrome:
Aplicativos da Web são o caminho preferido na maioria dos casos. As extensões do Chrome podem ser usadas em alguns cenários para casos de uso não compatíveis com a Web, como execução em segundo plano sem uma interface do usuário.
Aplicativos da Web
A alternativa preferida para migrar de Apps do Chrome é criar um aplicativo da Web. Ao fazer isso, é possível usar recursos avançados, como os do projeto de recursos da Web. As APIs que fazem parte do projeto Capabilities agora abrangem a maioria dos casos de uso que podiam ser alcançados anteriormente com as APIs de apps do Chrome. No entanto, não é obrigatório usar nenhum desses recursos: a flexibilidade da Web permite que os desenvolvedores escolham o nível de complexidade que melhor atende às necessidades deles.
Vantagens dos aplicativos da Web
Os aplicativos da Web têm algumas vantagens sobre os Aplicativos do Google Chrome:
- Portabilidade:os apps do Chrome são executados apenas no Chrome. Os aplicativos da web são executados na maioria dos navegadores e sistemas operacionais, embora o suporte para diferentes APIs varie entre eles.
- Experiência do desenvolvedor:os apps do Chrome usam as mesmas tecnologias que os apps da Web (HTML, JavaScript e CSS), mas alguns recursos avançados dos apps do Chrome (por exemplo, páginas de fundo) não são padrão. Por isso, é preciso ter mais conhecimento.
- Conjunto de recursos:os apps do Chrome dependem de APIs que não são mais mantidas ou atualizadas com novos recursos. Os aplicativos da web dependem da web aberta, que evolui continuamente e tem acesso a todas as APIs atualizadas.
- Instalação e atualizações:os apps do Chrome exigem instalação e atualização manuais e, às vezes, exigem revisões da loja. Os aplicativos da Web podem ser acessados diretamente de um navegador e podem ser instalados opcionalmente. As atualizações de aplicativos da Web são instantâneas após a implantação, assim que o navegador busca os novos arquivos.
- Suporte:embora os apps do Chrome e os aplicativos da Web tenham comunidades consideráveis, a plataforma da Web tem uma presença muito maior e oferece uma gama mais ampla de ferramentas de desenvolvimento, como frameworks e bibliotecas, para ajudar os desenvolvedores.
Apps Web Progressivos
Progressive Web Apps, ou PWAs, são apenas aplicativos da Web criados e otimizados com APIs modernas para oferecer recursos aprimorados, capacidade de instalação e confiabilidade. A implementação dessas funcionalidades permite ter experiências semelhantes ao app na Web.
Instalação
Os PWAs podem ser instalados em plataformas de computadores e dispositivos móveis, mas isso é opcional, porque ainda podem ser acessados diretamente no navegador. Os usuários que instalam um PWA podem iniciá-lo usando ícones e atalhos. É possível fornecer metadados no arquivo de manifesto da Web do PWA, indicando que, quando iniciado após a instalação, ele será aberto em uma janela própria.
Confiabilidade
Os PWAs funcionam de maneira consistente, mesmo em condições de rede desafiadoras. Isso é possível graças a um componente principal dos PWAs, conhecido como service workers. Os service workers permitem que você intercepte solicitações de rede e disponibilize conteúdo em cache para garantir que o app funcione off-line ou em cenários de conexão ruim. Bibliotecas como o Workbox oferecem um conjunto de estratégias prontas para permitir a implementação de funcionalidades off-line comuns, simplificando bastante o desenvolvimento.
Recursos aprimorados
O projeto Web Capabilities ajuda os aplicativos da Web a atingir muitos casos de uso que os apps do Chrome podem implementar. No entanto, o modelo de segurança da Web impõe algumas limitações. Confira alguns exemplos de recursos avançados da Web que podem ser usados em vez das APIs já existentes dos apps do Chrome:
- Acesso a Bluetooth e USB:Web Bluetooth e Web USB são uma alternativa ao
chrome.bluetooth
echrome.usb
, respectivamente. - Gerenciamento do sistema de arquivos:a API File System Access é a alternativa à API
chrome.fileSystem
. - Atalhos:os apps da Web são compatíveis com atalhos de teclado ouvindo os vários eventos de tecla (por exemplo, keydown), mas os atalhos que você pode usar são limitados. Quando o app da Web é usado no modo de tela cheia, você pode interceptar esses atalhos do sistema com a API Keyboard Lock.
- Armazenamento permanente:solicitar a permissão de armazenamento permanente no seu aplicativo da Web pode oferecer recursos semelhantes aos da permissão
unlimitedStorage
em apps do Chrome. - Geolocalização:a API Geolocation pode ser usada em apps da Web para localizar a posição de um usuário, como uma alternativa à permissão de geolocalização.
- Processamento em segundo plano:alternativas à permissão
background
incluem a API Background Sync e a API Periodic Background Sync. - Copiar para a área de transferência:a API Async Clipboard permite copiar e colar texto e imagens de maneira programática.
Extensões do Chrome
Os aplicativos da Web são a melhor alternativa para migrar dos apps do Chrome, mas as extensões do Chrome podem ser uma opção em alguns casos. As extensões também são criadas com tecnologias da Web (HTML, CSS e JavaScript) e podem ser usadas para adicionar ou modificar recursos do navegador e personalizar outros aplicativos da Web para melhorar a experiência do usuário.
Criar uma extensão independente
Dependendo da experiência do usuário que você quer oferecer, pode fazer sentido converter seu app do Chrome em uma extensão. Por exemplo, é possível fornecer um botão de ação do navegador que mostra uma pequena janela pop-up para a interface do usuário ou navega até uma página fornecida pela sua extensão. Esse modelo de IU pode ser mais adequado para apps que fazem a maior parte do trabalho em segundo plano.
Conectar uma extensão do Chrome de um app da Web
Se o app do Chrome oferecer recursos que não estão disponíveis na plataforma da Web, talvez seja possível conectar uma extensão do Chrome a um aplicativo da Web e conceder a ela acesso a APIs de extensão.A desvantagem dessa abordagem é que os usuários / administradores de TI precisam gerenciar duas partes diferentes (aplicativo da Web e extensões complementares). É importante observar que as extensões do Chrome não podem ser executadas em alguns navegadores. Você precisa detectar quando a funcionalidade necessária não está disponível e fornecer um texto explicativo para os usuários desses outros navegadores.
Devo criar um aplicativo da Web ou uma extensão do Google Chrome?
Um aplicativo da Web é a tecnologia preferencial para migrar dos apps do Chrome. Há alguns casos de uso em que as extensões do Chrome podem ser uma escolha melhor. Antes de decidir, analise qual opção é melhor de acordo com diferentes fatores:
- Objetivo:as extensões do Chrome são usadas principalmente para ampliar a funcionalidade do navegador. Casos de uso comuns incluem: ferramentas de produtividade, enriquecimento de conteúdo de página da Web e agregação de informações. Os aplicativos da Web podem ter uma gama muito maior de casos de uso ao usar toda a capacidade da Web.
- Experiência do usuário:as extensões do Chrome geralmente têm uma interface do usuário mais limitada e são projetadas para se integrarem ao navegador. Os aplicativos da Web podem ter uma interface do usuário rica que se parece com um aplicativo nativo e altamente personalizável.
- Portabilidade:as extensões do Chrome são específicas do Chrome. Alguns navegadores (por exemplo, Firefox e Edge) são compatíveis com as mesmas APIs de extensão do Chrome, mas esse suporte não é universal. Os aplicativos da Web são compatíveis com todos os navegadores (embora nem todas as APIs sejam).
- Facilidade de descoberta:as extensões do Chrome precisam ser instaladas (por exemplo, na Chrome Web Store ou em hospedagem própria) e acessadas pela barra de ferramentas do navegador. Os aplicativos da Web podem ser carregados instantaneamente por um URL e acessados de todos os navegadores. Eles podem ser instalados opcionalmente, mas isso não é obrigatório.
- Conjunto de recursos: as extensões do Chrome têm uma profunda integração com o Chrome por meio de APIs do Chrome. Os aplicativos da Web podem ser mais limitados em tarefas de baixo nível ou de sistema. Conforme discutido, é possível chamar uma extensão de um aplicativo da Web para ter acesso a APIs somente de extensão.
- Trabalho em segundo plano:as extensões do Chrome podem executar trabalhos em segundo plano e mesmo quando a janela do navegador está fechada. Os aplicativos da Web, por outro lado, são tipicamente projetados para serem executados em primeiro plano e têm recursos de segundo plano mais limitados, usados principalmente para desempenho e confiabilidade.
Etapas de migração
Migrar seus apps do Chrome
Siga estas etapas para migrar de um app do Chrome para aplicativos da Web ou extensões do Chrome:
- Definir o escopo da funcionalidade do app:em alguns casos, o app determinará se você precisa usar um aplicativo da Web ou se a única opção é criar uma extensão do Chrome. Nos casos em que ambos podem atender às suas necessidades, você pode escolher. Confira o site de Recursos da Web e a referência da API Chrome Extension para saber mais sobre o que cada tecnologia tem a oferecer.
- Aprender e criar:siga os recursos de aprendizado para saber mais sobre tecnologias e colocar seu app em funcionamento. O treinamento em PWA e os guias da Extensão do Chrome para iniciantes são ótimos recursos para começar a usar cada uma dessas tecnologias.
- Teste e distribua:ofereça seu novo app a uma porcentagem menor de usuários antes de um lançamento mais amplo para garantir que ele funcione bem. Para distribuí-los mais amplamente, os aplicativos da web podem ser acessados e instalados a partir do navegador. As extensões do Chrome geralmente são distribuídas pela Chrome Web Store ou são auto-hospedadas. Em cenários gerenciados, os dois podem ser instalados à força pelos administradores.
Migrar seus usuários
Independentemente da tecnologia que você tenha escolhido para migrar dos apps do Chrome, será necessário solicitar que os usuários desinstalem o app atual e orientá-los para a nova experiência.
Recomendamos atualizar seu app para incluir uma mensagem indicando que ele foi descontinuado e que os usuários precisam acessar seu site ou a Chrome Web Store (veja o exemplo a seguir). Você também pode incluir um botão "desinstalar"
que chame o método uninstallSelf()
.
No Chrome 75 e versões mais recentes, o método installReplacementWebApp()
pode ser usado dentro
de um app do Chrome, em resposta a um clique no botão ou outro gesto do usuário, para
acionar automaticamente o fluxo de instalação do app substituto.
Outra consideração é solicitar que os administradores do navegador e do ChromeOS Enterprise atualizem as políticas de apps das organizações. É comum que usuários gerenciados do Enterprise e Education tenham a instalação forçada de apps e extensões via política de gerenciamento. Os desenvolvedores precisam pedir que os administradores atualizem a política ExtensionInstallForcelist (usada para instalar apps do Chrome) e a substitua pela política WebAppInstallForceList pelo URL do seu app da Web.
Suporte
Se você tiver dúvidas técnicas, use estes recursos para receber suporte:
- Se você tiver dúvidas relacionadas à migração de apps do Chrome para extensões da Web ou extensões do Chrome, participe da comunidade de desenvolvedores do ChromeOS no Discord.
- Para solicitar recursos de app da Web ausentes, solicite um novo em Recursos, também conhecido como Projeto Fugu.