Flutter Roadmap 2022
O objetivo desse repositório é catalogar os conteúdos existentes na internet sobre Flutter e concatenar em uma espécie de "roadmap" para auxiliar os iniciantes.
Escrever códigos
É recomendado assistir ESTE VÍDEO antes de iniciar.
Lógica de Programação
Precisamos entender como criar algorítmos, por tanto, antes de realmente colocar a mão no código, é importante estudar um pouco sobre Lógica de programação.
Nessa etapa não é necessário saber nenhuma linguagem.
Orientação a Objetos (POO)
Esse é o paradgma mais utilizado no Flutter. Por isso devemos conhecer o básico para iniciar nesse framework.
Não tenha medo de aprender 2 ou 3 linguagens a mais para dominar esse paradgma.
É recomendado aprender um pouco sobre o Java, pois é uma linguagem que utiliza exclusivamente a POO, forçando-o a entender toda a base desse paradgma.
O Dart
Após entender mais sobre Lógica de Programação, devemos focar na linguagem principal do Flutter, o Dart.
Assista primeiro:
É importante ressaltar que o Dart sofreu mudanças consideráveis na segunda metade de 2021, por tanto, não é recomendado para iniciantes os cursos gravados antes de julho de 2021.
CURSOS GRATUITOS:
CURSOS PAGOS:
DOCUMENTAÇÃO:
Não pule essa etapa, pois conhecer a base do Dart será o principal diferencial para desenvolver em Flutter.
Flutter
Após seguir os passos da sessão anterior, chegou a hora de usar as ferramentas do SDK. Se não conhece o Flutter, assista ESTE VÍDEO.
Cursos gratuitos
Cursos pagos
Roadmap
Nesta sessão, iremos sugerir uma sequência de assuntos que um desenvolvedor Flutter deve dominar:
POO e Lógica de programação
O Flutter usa o Dart de forma declarativa. Isso significa que o desenvolvedor usa linguagem de programação para desenhar telas em vez de linguagem de marcação como HTML, XML ou XAML. Por esse motivo é recomendado que o desenvolvedor já domine os conceitos de POO e Lógica de programação.
Retorne a sessão Escrever Códigos para dicas de cursos sobre esses dois assuntos.
Sintaxe do Dart
Antes de usar o Flutter, o desenvolvedor deverá aprender pelomenos a sintaxe básica do Dart.
Nesta sessão foi sugerido alguns cursos pagos e gratuitos para uma imersão na linguagem Dart.
Aprenda GIT.
Git é essencial para um desenvolvedor.
Widgets nativos
Tudo no Flutter é Widget.
A tela de um aplicativo Flutter é constituida pela união de outros widgets nativos.
- Domine os principais widgets de alinhamento: (Column, Row, Stack).
- Entenda o funcionamento do Container.
- Teste todos os widgets disponível NESSE CATÁLOGO.
Criação de widgets
Existem três formas de criar widgets customizados, o StatelessWidget, StatefulWidget e InheritedWidget. A diferênça entre os três deve ser a primeira coisa que um novo desenvolvedor Flutter deve aprender.
Componentização de widget
Após aprender a criar widgets customizados, o desenvolvedor deve aprender a dividir esses widgets em arquivos separados para que possa facilitar a compreenção de outras pessoas que estarão lendo o código posteriomente.
Algumas dicas sobre isso:
- Tente ter um arquivo por Widget.
- Reflita o nome do Widget no nome do arquivo: Ex: HomePage(home_page.dart).
Widgets de inputs
Aprenda a fazer animações
Consumo de APIs externas
Domine o Provider
O Provider é a recomendação da equipe do Flutter para quem está iniciando no mundo Flutter para gerenciar estados e injeção de dependência.
- AULÃO sobre o Provider(Flutterando)
- Provider em 10 minutos (Renato Mota)
- Como utilizar o Provider e o ChangeNotifier(Prof. Diego Antunes)
- Flutter Provider for Beginners (Inglês)
Aprenda alguns Design Patterns
Padrões de projetos sÃo importantes para o trabalho em equipe.
- Repository Pattern no Flutter (balta.io)
- CopyWIth
- Injeção de dependências (Flutterando)
- MVC, MVP e MVVM no Flutter (Flutterando)
Testes de unidade
- Um programador confiável (Elemar Jr)
- AULÃO sobre testes de unidade (Flutterando)
- Semana do Flutter sobre testes (Flutterando)
Gerência de estado
O StatefulWidget concede ao Widget a possibilidade de gerenciar o próprio estado. Mas as vezes é necessário mudar o estado de vários widgets em uma ação. Para isso, existe alguns padrões para auxiliar nisso.
- AULÃO sobre gerência de estado (Flutterando)
- ValueNotifier. A reatividade mais rápida do Flutter
- Curso de gerência de estadi com ValueNotifier (Flutterando)
- AULÃO sobre BLoC (Flutterando)
- AULÃO sobre MobX (Flutterando)
- AULÃO sobre Triple (Flutterando)
Arquitetura
A arquitetura de um projeto define a vida útil do mesmo. Todo app tem alguma arquitetura, mesmo que o desenvolvedor não tenha pensado nisso.