Quiz 16
1. Qual a linguagem de programação base do Flutter?
Kotlin
Swift
Dart
Rust
*Explicação: Dart é o motor lógico e de interface de todo projeto Flutter.*
2. O que é um "Widget" para o Flutter?
Uma função matemática.
Quase tudo o que compõe a interface e o comportamento do app.
O nome do motor gráfico.
Uma animação 3D.
*Explicação: A filosofia do Flutter é fundamentada na composição de widgets.*
3. Qual a principal vantagem do "Hot Reload"?
Economiza internet.
Ciclo de desenvolvimento ultra-rápido, vendo mudanças no código quase em tempo real.
Deixa o app mais leve.
Corrige erros gramaticais.
*Explicação: É o que torna o desenvolvimento em Flutter um dos mais produtivos do mercado.*
4. Como lidamos com dados que precisam ser compartilhados entre muitas telas (Estado Global)?
Copiando e colando variáveis.
Usando gerenciadores de estado como Provider, BLoC ou Riverpod.
Guardando tudo no `main.dart`.
Não é possível compartilhar dados.
*Explicação: Gerenciamento de estado global evita a "bagunça" de passar dados manualmente por dezenas de construtores.*
5. Para que serve o `Scaffold`?
Para rodar o app no iOS.
Para fornecer o layout visual básico do Material Design (App Bar, Body, FAB).
Para mudar a versão do Dart.
Para apagar o projeto.
*Explicação: Ele é o ponto de partida para a maioria das páginas de um app.*
6. Qual o papel do arquivo `pubspec.yaml`?
Guardar o código das telas.
Centralizar configurações do projeto, assets e dependências de pacotes.
Definir as cores do app.
Traduzir o app.
*Explicação: Sem ele, o Flutter não sabe quais bibliotecas ou imagens seu projeto usa.*
7. Diferença fundamental entre Stateless e Stateful?
Stateless é para web, Stateful para mobile.
Stateless não muda após criado; Stateful pode redesenhar sua UI conforme os dados mudam.
Stateful é proibido no Android.
Stateless carrega mais rápido.
*Explicação: Use Stateless para componentes fixos e Stateful para interativos.*
8. O que faz a compilação AOT (Ahead-of-Time)?
Traduz o código para inglês.
Transforma o código Dart em código de máquina nativo de alta performance para a publicação.
Retarda a execução do app.
Envia o código para o servidor.
*Explicação: A compilação antecipada é o segredo para a fluidez das animações no Flutter.*
9. Qual o comando para instalar as dependências de um projeto existente?
flutter install
flutter pub get
pub sync
flutter download
*Explicação: Sempre execute este comando ao baixar um projeto do GitHub ou adicionar um novo pacote.*
10. O Flutter permite rodar o MESMO código em quais plataformas?
Apenas Android e Web.
Apenas Windows e macOS.
Android, iOS, Web, Windows, macOS e Linux.
Apenas no Chrome.
*Explicação: O Flutter é o framework multiplataforma mais abrangente da atualidade.*