Pular para o conteúdo principal

Questão de Programação — Web — FCC 2025

ProgramaçãoWeb
Código
fc074944
Banca
FCC
Órgão
TRT - 15ª Região (SP)
Ano
2025
Nível
Médio
Cargo
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 é
  1. 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.
  2. Barmazenar todos os dados da aplicação no locaiStorage do navegador para garantir melhor desempenho e a disponibilidade offline.
  3. Cimplementar a funcionalidade de notificações push diretamente no código do componente principal da aplicação. garantindo melhor desempenho e usabilidade.
  4. Dconfigurar um Service Worker para gerenciar o cache de recursos estáticos e permitir o funcionamento offline.
  5. 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.

Gabarito: D

Link permanente: /questoes/fc074944