Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação
Um Técnico está desenvolvendo uma aplicação web progressiva (PWA) usando Angular, em condições ideais, que deve funcionar offline, enviar notificações push e ser instalável no dispositivo do usuário. Além disso, deve ser rápida e responsiva, proporcionando uma experiência de usuário semelhante a um aplicativo nativo. Nesse contexto, a prática mais adequada para garantir que a PWA desenvolvida com Angular atenda aos requisitos de desempenho e funcionalidade é
Autilizar o Angular Universal para renderização do lado do servidor (SSR) para melhorar o desempenho inicial da aplicação e permitir a execução offline.
Barmazenar todos os dados da aplicação no locaiStorage do navegador para garantir melhor desempenho e a disponibilidade offline.
Cimplementar a funcionalidade de notificações push diretamente no código do componente principal da aplicação. garantindo melhor desempenho e usabilidade.
Dconfigurar um Service Worker para gerenciar o cache de recursos estáticos e permitir o funcionamento offline.
Eevitar o uso de módulos e lazy loading para reduzir a complexidade do código, melhorando o desempenho e habilitando a execução offline.
Revelar gabarito e comentário▾
GabaritoD — configurar um Service Worker para gerenciar o cache de recursos estáticos e permitir o funcionamento offline.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
PWA com Angular – Prática adequada para desempenho e funcionalidade
Gabarito: D. A prática mais adequada é configurar um Service Worker para gerenciar cache de recursos estáticos e permitir funcionamento offline – essa é a base de qualquer PWA (Progressive Web App) e, no Angular, é implementada pelo módulo @angular/service-worker.
Os Service Workers atuam como um proxy entre a aplicação e a rede, possibilitando:
cache offline de assets (HTML, CSS, JS, imagens);
envio de notificações push mesmo com o app fechado;
instalação do app na tela inicial.
Sem um Service Worker, os demais requisitos (offline, push, instalável) ficam comprometidos.
Alternativa
Descrição
Correta?
Motivo
D
Configurar um Service Worker para gerenciar cache de recursos estáticos e permitir funcionamento offline
✅ Sim
É a base de qualquer PWA; no Angular, implementado pelo módulo @angular/service-worker. Permite cache offline, notificações push e instalação.
A
Utilizar Angular Universal (SSR) para melhorar desempenho inicial e permitir execução offline
❌ Não
SSR melhora carregamento inicial e SEO, mas não garante funcionamento offline (depende de servidor).
B
Armazenar todos os dados no localStorage para garantir desempenho e disponibilidade offline
❌ Não
localStorage é síncrono, limitado (~5 MB) e não intercepta requisições de rede. O correto é Cache API + IndexedDB.
C
Implementar notificações push diretamente no componente principal
❌ Não
Notificações push exigem um Service Worker para recebê-las em segundo plano.
E
Evitar módulos e lazy loading para reduzir complexidade, melhorando desempenho e habilitando offline
❌ Não
Lazy loading melhora desempenho; evitá-lo piora o carregamento. Não habilita offline (que depende de Service Worker).
Alternativa D – ✅ Correta ⟵ GABARITO
Conceito: Service Worker é um script que o navegador executa em segundo plano, separado da página web. Ele intercepta requisições de rede e decide o que servir (rede vs. cache). Essa é a tecnologia central para PWAs.
No Angular, a configuração é feita pelo pacote @angular/service-worker e pelo arquivo ngsw-config.json, que define quais recursos cachear e como atualizá-los.
A alternativa descreve exatamente esse papel: gerenciar cache de recursos estáticos + habilitar funcionamento offline. Além disso, o Service Worker também suporta notificações push (via Push API) e a instalação (manifest.json). Portanto, atende a todos os requisitos do enunciado.
Alternativa A – ❌ Incorreta
A renderização do lado do servidor (SSR) com Angular Universal melhora o tempo de carregamento inicial (First Contentful Paint) e favorece SEO, mas não garante funcionamento offline. SSR depende de um servidor para gerar HTML no momento da requisição; sem conexão, o app não carrega. Offline exige Service Worker.
Alternativa B – ❌ Incorreta
O localStorage é síncrono, limitado a ~5 MB e inadequado para armazenar assets estáticos ou grande volume de dados. Além disso, não intercepta requisições de rede – um requisito essencial para funcionamento offline. O armazenamento correto para PWA é via Cache API (usado pelo Service Worker) e IndexedDB para dados estruturados.
Alternativa C – ❌ Incorreta
Notificações push exigem um Service Worker para receber eventos push mesmo quando o app não está em primeiro plano. Colocar a lógica de push no componente principal (no front-end) só funcionaria com o app aberto, e não atenderia ao requisito de notificações push em background. A Push API depende do Service Worker.
Alternativa E – ❌ Incorreta
Evitar módulos e lazy loading piora o desempenho inicial, pois todo o código é carregado de uma vez (maior bundle). Lazy loading carrega módulos sob demanda, reduzindo o tempo de carregamento inicial. Além disso, lazy loading não tem relação com offline – para isso, é necessário cache via Service Worker.
NÃO CAIA NESSA!
Em questões sobre PWAs, lembre-se dos três pilares: Service Worker (offline + push), Manifest (instalável) e HTTPS (segurança). A banca costuma trocar tecnologias que resolvem apenas parte do problema (SSR, localStorage) pela única que atende a todos os requisitos simultaneamente.