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

Capítulo 4 – Widgets Básicos em Flutter

  • 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

Capítulo 6 – StatelessWidget e StatefulWidget

  • 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

Capítulo 8 – Widgets de Mídia e Ícones

  • 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

Capítulo 10 – Formulários e Entrada de Dados

  • 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