Prefácio
Capítulo 1 – Introdução ao Flutter
- 1.1 História e Desenvolvimento do Flutter
- 1.2 Vantagens e Uso no Desenvolvimento
- 1.3 Configuração do Ambiente de Desenvolvimento
- 1.4 Hello World: Seu Primeiro Aplicativo Flutter
- 1.5 Resumo do Capítulo
Capítulo 2 – Fundamentos do Dart
- 2.1 Sintaxe Básica de Dart
- 2.2 Funções
- 2.3 Escopo em Dart
- 2.4 Projeto: Calculadora Simples em Dart
- 2.5 Classes e recursos avançados de Dart
- 2.6 Resumo do Capítulo
Capítulo 3 – Flutter SDK
- 3.1 O ecossistema do Flutter SDK e suas ferramentas
- 3.2 Criando um Projeto
- 3.3 Estrutura nativa Android
- 3.4 Estrutura nativa para iOS
- 3.5 Versão Web do Flutter
- 3.6 Pastas Desktop – Windows, macOS e Linux
- 3.7 Resumo do Capítulo
- 4.1 Entendendo o que são Widgets
- 4.2 MaterialApp, Scaffold e AppBar
- 4.3 Text Widget em Flutter
- 4.4 Row e Column
- 4.5 Container
- 4.6 Projeto: App de Perfil Pessoal
- 4.7 Resumo do Capítulo
Capítulo 5 – Temas e Design System (Material 3)
- 5.1 O que é Design System?
- 5.2 Ativando Material 3 no Flutter
- 5.3 ColorScheme: o coração das cores no Material 3
- 5.4 Typography no Material 3
- 5.5 ShapeTokens em Material 3
- 5.6 Tokens de Espaçamento no Material 3
- 5.7 Componentes Material 3
- 5.8 Tokens no Material 3 (Design Tokens)
- 5.9 Projeto prático – Construindo um app Flutter com Material 3
- 5.10 Resumo do Capítulo
- 6.1 Por que existem dois tipos de widgets?
- 6.2 Entendendo o StatelessWidget
- 6.3 Entendendo o StatefulWidget
- 6.4 Ciclo de vida do StatefulWidget
- 6.5 Comparação entre Stateless e Stateful
- 6.6 Boas práticas com widgets
- 6.7 Projeto prático - Contador de cliques
- 6.8 Resumo do capítulo
Capítulo 7 – Botões e Interações no Material 3
- 7.1 O papel dos botões em interfaces Flutter
- 7.2 Classes principais de botões no Material 3
- 7.3 Estrutura básica de um botão
- 7.4 Estados visuais no Material 3
- 7.5 Estilização e personalização com ButtonStyle
- 7.6 Tematização global de botões
- 7.8 Projeto prático - Construindo uma tela com botões
- 7.9 Resumo do capítulo
- 8.1 Visão geral: o papel da mídia na interface
- 8.2 Imagens no Flutter
- 8.3 Organização de imagens no projeto
- 8.4 Ícones no Flutter
- 8.5 Pacotes externos de ícones
- 8.6 Ícones como botões (IconButton, FilledIconButton, FAB)
- 8.7 Semântica e acessibilidade em ícones e imagens
- 8.8 Boas práticas e erros comuns
- 8.9 Projeto prático - Mídia e Ícones no Flutter
- 8.10 Resumo do capítulo
Capítulo 9 – Listas e Rolagem de Conteúdo
- 9.1 Por que listas são tão importantes?
- 9.2 Tipos de listas no Flutter
- 9.3 GridView: exibindo itens em grade
- 9.4 Lazy Loading e Performance
- 9.5 Slivers e CustomScrollView
- 9.6 Separadores, cabeçalhos e agrupamento de itens
- 9.7 Boas práticas e erros comuns
- 9.8 Projeto prático - Listas de Contatos
- 9.9 Resumo do capítulo
- 10.1 Por que formulários são importantes no Flutter?
- 10.2 Estrutura básica de um formulário
- 10.3 Validação, formatação e controle de entrada
- 10.4 Melhorando a experiência do usuário
- 10.5 Projeto prático — Formulário de Cadastro
- 10.6 Resumo do capítulo
Capítulo 11 – Navegação no Flutter
- 11.1 Introdução
- 11.2 Navegação com Navigator
- 11.3 Navegação Declarativa com go_router
- 11.4 Comparativo entre Navigator e go_router
- 11.5 Projeto Prático: Navegação com Navigator
- 11.6 Projeto Prático: Mini App Multi-Páginas com go_router
- 11.7 Comparativo entre Navigator e go_router
- 11.8 Resumo do Capítulo
Capítulo 12 – Gerência de Estado
- 12.1 Introdução
- 12.2 Gerenciando Estado com setState
- 12.3 InheritedWidget: o fundamento oculto
- 12.4 Provider: Gerência de Estado acessível e escalável
- 12.5 Outras abordagens: Riverpod, BLoC, MobX (Visão Geral)
- 12.6 Projeto Prático: App de Lista de Tarefas com Provider
- 12.7 Resumo do Capítulo
Capítulo 13 – Consumo de APIs REST
- 13.1 Introdução
- 13.2 Entendendo o Protocolo HTTP
- 13.3 Primeira Requisição com o pacote http
- 13.4 Tratamento de Erros e Timeout
- 13.5 Requisições POST: Enviando Dados
- 13.6 Melhorando com Dio: Mais recursos e produtividade
- 13.7 Organizando o Código em Camadas
- 13.8 Projeto Prático: App de Listagem com API Real
- 13.9 Resumo do Capítulo
Capítulo 14 – Persistência de Dados e Cache
- 14.1 Introdução
- 14.2 Opções de Armazenamento no Flutter
- 14.3 SharedPreferences: Salvando Dados Simples
- 14.4 Hive: Salvando Objetos e Listas
- 14.5 Estratégia de Cache Inteligente
- 14.6 Armazenamento Seguro (Tokens e Credenciais)
- 14.7 Projeto Prático: Lista de Produtos com Cache Local + API
- 14.8 Resumo do Capítulo
Capítulo 15 – Recursos do Dispositivo
- 15.1 Introdução
- 15.2 Permissões no Flutter
- 15.3 Acessando Câmera e Galeria
- 15.4 Geolocalização (GPS e Mapa)
- 15.5 Notificações Locais e Push
- 15.6 Platform Channels
- 15.7 Integrações por Plugins: Bluetooth Serial
- 15.8 Projeto Prático: App com Mapa, Câmera e Permissões
- 15.9 Resumo do Capítulo
Capítulo 16 – Autenticação
- 16.1 Introdução
- 16.2 Configuração do Firebase no Flutter
- 16.3 Autenticação (Firebase Auth)
- 16.4 Firestore (Banco de dados em nuvem)
- 16.5 Firebase Storage
- 16.6 Notificações Push com Firebase Cloud Messaging (FCM)
- 16.7 Integração com Provider / Riverpod
- 16.8 Projeto Prático: Mini App com Login
- 16.9 Resumo do Capítulo
Capítulo 17 – Animações no Flutter
- 17.1 Introdução
- 17.2 Animações Implícitas (Animated Widgets)
- 17.3 Hero Animation
- 17.4 AnimatedSwitcher
- 17.5 Animações Explícitas (AnimationController)
- 17.6 Curvas de Animação (Curves)
- 17.7 Boas Práticas e Considerações de Performance
- 17.8 Projeto Prático: App com Animações de Navegação e Interação
- 17.9 Resumo do Capítulo
Capítulo 18 – Layout Responsivo e Adaptativo
- 18.1 O que significa responsividade no Flutter?
- 18.2 Ferramentas principais de responsividade
- 18.3 Breakpoints e Layout adaptativo
- 18.4 Padrões de design adaptativo
- 18.5 Boas práticas de responsividade
- 18.6 Projeto prático: Interface adaptativa com navegação
- 18.7 Resumo do capítulo
Capítulo 19 – Flutter Web e PWA
- 19.1 Flutter na Web: conceito, funcionamento e quando usar
- 19.2 Renderização no Flutter Web: HTML, CanvasKit e WASM
- 19.3 Estrutura, configuração e build para Web
- 19.4 Flutter Web como PWA (Progressive Web App)
- 19.5 Projeto prático: Diário de Observações Offline com Flutter PWA
- 19.6 Resumo do capítulo
Capítulo 20 – Flutter Desktop
- 20.1 Flutter Desktop: visão geral e funcionamento
- 20.2 Recursos nativos do Desktop
- 20.3 Estrutura do projeto e configuração para Desktop
- 20.4 Integração com o sistema operacional
- 20.5 Projeto prático: Criando um gerenciador de notas Desktop
- 20.6 Resumo do capítulo
Capítulo 20 – Flutter Desktop
- 21.1 Entendendo o processo de build e distribuição
- 21.2 Publicação no Android (AAB, APK, Play Store)
- 21.3 Publicação no iOS (Xcode, Provisioning, App Store)
- 21.4 Publicação Web e Desktop
- 21.5 CI/CD com Flutter (Build automatizado)
- 21.6 Resumo do capítulo
Considerações Finais