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.
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 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 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.
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.
-
Masterclass Paga Iniciante (Flutterando)
ficar atento ao canal do Youtube para ver o anuncio de vagas
Nesta sessão, iremos sugerir uma sequência de assuntos que um desenvolvedor Flutter deve dominar:
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.
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.
Git é essencial para um desenvolvedor.
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.
Algumas dicas sobre isso:
- Tente ter um arquivo por Widget.
- Reflita o nome do Widget no nome do arquivo: Ex: HomePage(home_page.dart).
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 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)
- 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 as vezes é necessário mudar o estado de vários widgets em uma ação. Para isso, existe alguns padrões para auxiliar nisso.
- 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)
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.
- 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 Paga Intermediária (Flutterando)
ficar atento ao canal do Youtube para ver o anuncio de vagas
Principais (e únicos) gerenciadores de versão do Flutter
-
Qual é melhor? Atualmente o aproach de gerencia de armazenamento do Puro e sua configuração de "ambientes" tem agradado mais a comunidade. Sua instalação diretamente no shell simples e direta também.
Link de criadores de conteúdo relevante que estão sempre colaborando ou já tem um acervo de qualidade.
Links gerais da comunidade (discord, telegram...)
Sugestões de Livros. (Leia para aprender, nunca levando tudo como regra e sim absorvendo as partes que lhe fizerem sentido)
- Clean Code
- Padrões de Projeto
- Clean Arch
- Refatoração