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.
É recomendado assistir ESTE VÍDEO antes de iniciar.
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.
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.
Não pule essa etapa, pois conhecer a base do Dart será o principal diferencial para desenvolver em Flutter.
DOCUMENTAÇÃO:
CURSOS GRATUITOS:
CURSOS PAGOS:
Esse é o paradigma 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 paradigma.
É recomendado (e não obrigatório) aprender um pouco sobre o Java, pois é uma linguagem que utiliza exclusivamente a POO, forçando-o a entender toda a base desse paradgma.
- Programação Orientada a Objetos (POO)
- Curso de programação oriendada a objetos
- Classes abstratas no 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.
EXPLORE o catálogo de widgets; será muito importante conhecer suas principais ferramentas:
DOCUMENTAÇÃO:
- Masterclass Iniciante (Flutterando)
ficar atento ao canal do Youtube para ver o anuncio de vagas
- Curso de Flutter (COD3R)
- Curso de Flutter em Inglês (Angela)
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íveis NESSE CATÁLOGO.
Existem três formas básicas de criar widgets customizados, o StatelessWidget, StatefulWidget e InheritedWidget. A diferênça entre os três deve ser entendida desde o início.
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 (inclusive ele próprio.
Algumas dicas:
- Tente ter um arquivo por Widget.
- Reflita o nome do Widget no nome do arquivo, Ex:
- Tela inicial = home_page.dart
- Botao de adicionar tarefa = add_task_button.dart
"TUDO é CRUD."
Parte da nossa tarefa no front-end é receber dados e enviá-los para a API.
Consumir informações do mundo externo. Para montar sua Pokédex, resgatar os dados de um cep...
Para encantar os clientes! (Principalmente seu chefe)
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)
Padrões de projetos são importantes para manter a qualidade do código além de facilitar o trabalho em equipe.
- Repository Pattern no Flutter (balta.io)
- CopyWith (Jacob)
- Injeção de dependências (Flutterando)
- MVC, MVP e MVVM no Flutter (Flutterando)
- Factory(Felipe Deschamps)
Para garantir a qualidade do software e facilitar a manutenção os testes de unidade serão seus maiores aliados.
- Um programador confiável (Elemar Jr)
- AULÃO sobre testes de unidade (Flutterando)
- Semana do Flutter sobre testes (Flutterando)
- Curso Pago de testes de unidade (Flutterando)
O StatefulWidget concede ao widget a possibilidade de gerenciar o próprio estado, mas às vezes é necessário mudar o estado de vários widgets em uma ação. Para isso, existem alguns padrões que podemos utilizar para facilitar a execução e o entendimento.
- BASE DA GERENCIA DE ESTADO (Flutterando)
- AULÃO sobre gerência de estado (Flutterando)
- ValueNotifier. A reatividade mais rápida do Flutter
- Curso de gerência de estado com ValueNotifier (Flutterando)
- AULÃO sobre BLoC (Flutterando)
- AULÃO sobre MobX (Flutterando)
- AULÃO sobre Triple (Flutterando)
Git é essencial para um desenvolvedor. Atualmente, é o meio universal para compartilhamento de código.
Principais (e únicos) gerenciadores de versão do Flutter
-
Qual é melhor?
Atualmente, o approach do Puro com sua configuração de ambientes tem agradado mais à comunidade. Sua instalação acaba sendo mais simples também.
Se você chegou até aqui, já tem os conhecimentos necessários para construir seus apps, mas agora veremos para onde se aprofundar:
A arquitetura de um projeto define sua vida útil. Todo App tem alguma arquitetura, mesmo que o desenvolvedor não tenha pensado nisso.
- App Architecture (Recomendada)
- Documentação da arquitetura recomendada
- Finalmente o Flutter recomendou uma Arquitetura! É oficial!
- MVVM, Result e Command. Descubra os Design da Nova ARQUITETURA do Flutter
- Flutter recomenda o uso de “Optimistic State”
- O Design Pattern que irá mudar na nova arquitetura do Flutter
- Deixando o Flutter mais intuitivo com o result_dart
- Implementando a NOVA Arquitetura recomendada do Flutter AO VIVO
- Conteúdos sobre Clean Architecture:
- AULÃO sobre Clean Architecture (Flutterando)
- Playlist sobre Clean Dart (Flutterando)
- Masterclass Intermediária (Flutterando)
ficar atento ao canal do Youtube para ver o anuncio de vagas
Criadores de conteúdo relevante que estão sempre colaborando ou já tem um acervo de qualidade:
Links gerais da comunidade:
Sugestões de Livros. (Leia para aprender, nunca levando tudo como regra e sim absorvendo as partes que lhe fizerem sentido)
- Clean Code
- Clean Arch
- Padrões de Projeto
- Refatoração
- Flutter in Action
- Flutter Complete Reference