Partilhar: Classroom Teams WhatsApp
aulify
UC UC02210 · T. Multimédia, T. Audiovisuais, T. Produção de Conteúdos Interativos

Ficha 02 · Interatividade, animação, desempenho, PWA e publicação

Gestos e eventos de toque, prefers-reduced-motion, LCP/CLS/INP, service worker e exportação
Versão · Aluno
Tempo · 4 horas
Aluno(a)
Turma
Nº
Data

Exercício 1 · Programar um gesto de swipe

Um carrossel de imagens precisa de avançar quando o utilizador desliza para a esquerda e recuar quando desliza para a direita. Completa o código em falta, usando touchstart e touchend.

let inicioX = 0;
carrossel.addEventListener('touchstart', (e) => {
  inicioX = e.touches[0].clientX;
});
carrossel.addEventListener('touchend', (e) => {
  // completa aqui
});

Exercício 2 · Estados de toque num botão

Escreve o CSS de um botão que muda de tamanho ao ser premido (active), mostra um contorno visível quando navegado por teclado (focus-visible), e fica visualmente apagado e sem resposta a toques quando desativado.

Exercício 3 · Animar sem engasgar

O código seguinte anima um cartão a entrar no ecrã, mas engasga em telemóveis mais fracos. Identifica o problema e corrige.

.cartao {
  position: relative;
  left: -300px;
  transition: left 0.3s;
}
.cartao.visivel { left: 0; }

Exercício 4 · Respeitar prefers-reduced-motion

Um carrossel automático muda de imagem a cada 4 segundos, com uma transição de deslizamento. Adapta o código para que, quando o utilizador tiver ativado "reduzir movimento" no sistema, o carrossel deixe de trocar de imagem sozinho e sem transição.

Exercício 5 · Diagnosticar as métricas reais da web

Uma página tem LCP de 5,1s, CLS de 0,32 e INP de 620ms. Identifica, para cada métrica, uma causa provável em rede móvel e uma correção concreta.

Exercício 6 · Estratégias de cache num service worker

Uma aplicação tem três tipos de recursos: ícones e tipos de letra (quase nunca mudam), o horário das aulas (muda todas as semanas), e uma lista de eventos que pode ficar ligeiramente desatualizada sem problema. Associa a cada um a estratégia de cache mais adequada.

Exercício 7 · Publicar uma PWA

Antes de publicar uma PWA, um colega esquece três passos. Identifica-os e explica a consequência de cada um: (a) alojar em HTTP simples; (b) não verificar a instalabilidade no painel Application das DevTools; (c) não testar "Adicionar ao ecrã principal" em iOS.