Ficha 01 · Abordagens e widgets Flutter
- Comparar abordagens
- Construir UI com widgets
- Distinguir stateless/stateful
- Aplicar setState
Parte I · Abordagens
Exercício 1 · Escolher abordagem (15 pts)
Para cada caso, indica a abordagem (nativo / cross-platform / PWA) e justifica:
a) Startup com 2 programadores quer lançar app Android+iOS rápido.
b) Jogo 3D com gráficos intensivos.
c) Site de notícias quer "app" sem custo de loja.
d) App bancária com requisitos de segurança e biometria.
Exercício 2 · Prós e contras (10 pts)
Completa:
| Abordagem | 1 vantagem | 1 desvantagem |
|---|---|---|
| Nativo | ||
| Flutter | ||
| PWA |
Parte II · Widgets
Exercício 3 · App mínima (15 pts)
Escreve uma app Flutter mínima com AppBar "Aulify" e texto centrado "Olá".
Exercício 4 · Layout (20 pts)
Constrói um widget que mostra (em coluna): um título, uma imagem da rede e uma lista de 3 produtos com ícone.
Parte III · Estado
Exercício 5 · Stateless vs Stateful (10 pts)
Para cada widget, indica se deve ser Stateless ou Stateful:
a) Logótipo fixo. ___
b) Contador de cliques. ___
c) Cartão que mostra o nome de um produto recebido por parâmetro. ___
d) Checkbox que o utilizador liga/desliga. ___
e) Formulário com campos editáveis. ___
Exercício 6 · Contador (20 pts)
Implementa um StatefulWidget "Contador" com um número, um botão +1 e um botão Reset.
Exercício 7 · Bug de estado (10 pts)
Este código não actualiza o ecrã quando se clica. Porquê e como corrigir?
int n = 0;
ElevatedButton(
onPressed: () { n++; },
child: Text('$n'),
)