{"id":15036368,"url":"https://github.com/flutterando/roadmap","last_synced_at":"2025-04-09T16:00:26.228Z","repository":{"id":37243185,"uuid":"443895792","full_name":"Flutterando/roadmap","owner":"Flutterando","description":"Flutter roadmap pt-BR","archived":false,"fork":false,"pushed_at":"2024-12-17T11:50:59.000Z","size":14,"stargazers_count":1329,"open_issues_count":1,"forks_count":161,"subscribers_count":71,"default_branch":"main","last_synced_at":"2025-04-02T15:00:26.952Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Flutterando.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-02T23:53:00.000Z","updated_at":"2025-04-02T02:19:26.000Z","dependencies_parsed_at":"2024-10-31T06:31:40.456Z","dependency_job_id":"6e210a4d-16a5-4eed-b3b3-a4cb2d844c8a","html_url":"https://github.com/Flutterando/roadmap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flutterando%2Froadmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flutterando%2Froadmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flutterando%2Froadmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flutterando%2Froadmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Flutterando","download_url":"https://codeload.github.com/Flutterando/roadmap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065302,"owners_count":21041871,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-24T20:30:56.426Z","updated_at":"2025-04-09T16:00:26.203Z","avatar_url":"https://github.com/Flutterando.png","language":null,"readme":"# Flutter Roadmap 2025\n\nO 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.\n\n# Escrever códigos\n\nÉ recomendado assistir [ESTE VÍDEO](https://www.youtube.com/watch?v=BTENKdRVS2U) antes de iniciar.\n\n## Lógica de Programação\n\nPrecisamos 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.\n\nNessa etapa não é necessário saber nenhuma linguagem.\n\n- [Curso de lógica de programação](https://www.youtube.com/watch?v=8mei6uVttho\u0026list=PLHz_AreHm4dmSj0MHol_aoNYCSGFqvfXV).\n- [Curso Lógica de Programação Completo 2021](https://www.youtube.com/watch?v=iF2MdbrTiBM)\n\n## Orientação a Objetos (POO)\n\nEsse é o paradgma mais utilizado no Flutter. Por isso devemos conhecer o básico para iniciar nesse framework.\n\nNão tenha medo de aprender 2 ou 3 linguagens a mais para dominar esse paradigma.\n\nÉ 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. \n\n- [Programação Orientada a Objetos (POO)](https://www.youtube.com/watch?v=QY0Kdg83orY)\n- [Curso de programação oriendada a objetos](https://www.youtube.com/watch?v=KlIL63MeyMY\u0026list=PLHz_AreHm4dkqe2aR0tQK74m8SFe-aGsY)\n- [Classes abstratas no FLUTTER](https://youtu.be/nZov6ztrocc)\n\n## O Dart\n\nApós entender mais sobre Lógica de Programação, devemos focar na linguagem principal do Flutter, o Dart.\n\nAssista primeiro:\n- [Dart (a linguagem do Flutter)](https://www.youtube.com/watch?v=i7IzlVImHEc)\n- [Por que o Flutter usa o Dart (Ative as legendas)](https://www.youtube.com/watch?v=5F-6n_2XWR8)\n\nÉ 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\n**CURSOS GRATUITOS**:\n\n- [Curso de Dart (Deivid Willyan)](https://www.youtube.com/watch?v=PgRv_aeqf-4\u0026list=PLRpTFz5_57cseSiszvssXO7HKVzOsrI77)\n\n**CURSOS PAGOS**:\n\n- [Lógica de programação com Dart (Flutterando Masterclass)](https://masterclass.flutterando.com.br/public/products/e141c9c5-0b60-4e0e-96f1-e31d433e2a09)\n\n**DOCUMENTAÇÃO**:\n\n- [Dart doc](https://dart.dev/guides/language/language-tour)\n\nNão pule essa etapa, pois conhecer a base do Dart será o principal diferencial para desenvolver em Flutter.\n\n# Flutter\n\nApó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](https://www.youtube.com/watch?v=vIP2iLFjEIk\u0026t=66s).\n\n## Cursos gratuitos\n\n- [Flutter Curso 2022 (Flutterando)](https://www.youtube.com/playlist?list=PLlBnICoI-g-fuy5jZiCufhFip1BlBswI7)\n- [Catálogo de Widgets](https://docs.flutter.dev/reference/widgets)\n\n## Cursos pagos\n\n- [Masterclass Paga Iniciante (Flutterando)](https://masterclass.flutterando.com.br/public/products)\n  \u003e ficar atento ao canal do Youtube para ver o anuncio de vagas\n\n- [Curso de Flutter (COD3R)](https://www.udemy.com/course/curso-flutter/)\n- [Curso de Flutter em Inglês (Angela)](https://www.udemy.com/course/flutter-bootcamp-with-dart/)\n- [Curso de Flutter avançado (Paulo)](https://www.udemy.com/course/desenvolvimento-flutter-avancado)\n\n## Livros\n\n- [Flutter in Action](https://www.google.com/search?q=Flutter+in+Action+book\u0026sca_esv=562513523\u0026rlz=1C1GCEA_enBR1014BR1014\u0026ei=bML1ZPG7LZG75OUPwue7uA0\u0026ved=0ahUKEwjxob_v75CBAxWRHbkGHcLzDtcQ4dUDCBA\u0026uact=5\u0026oq=Flutter+in+Action+book\u0026gs_lp=Egxnd3Mtd2l6LXNlcnAiFkZsdXR0ZXIgaW4gQWN0aW9uIGJvb2syBxAuGBMYgAQyFhAuGBMYgAQYlwUY3AQY3gQY4ATYAQFIsEZQ7jRYiURwAngBkAEAmAHlAaABkQaqAQUwLjQuMbgBA8gBAPgBAcICChAAGEcY1gQYsAPCAgoQABiKBRiwAxhDwgIHEAAYExiABMICCBAAGBYYHhgT4gMEGAAgQYgGAZAGCroGBggBEAEYFA\u0026sclient=gws-wiz-serp\u0026bshm=rimc/1)\n- [Flutter Complete Reference](https://www.google.com/search?q=Flutter+Complete+Reference+book\u0026sca_esv=562513523\u0026rlz=1C1GCEA_enBR1014BR1014\u0026ei=g8L1ZMLzDMne5OUPzI-K0AQ\u0026ved=0ahUKEwiCwZr675CBAxVJL7kGHcyHAkoQ4dUDCBA\u0026uact=5\u0026oq=Flutter+Complete+Reference+book\u0026gs_lp=Egxnd3Mtd2l6LXNlcnAiH0ZsdXR0ZXIgQ29tcGxldGUgUmVmZXJlbmNlIGJvb2syBxAAGBMYgAQyBxAuGBMYgAQyBhAAGB4YE0iQBlAAWABwAHgBkAEAmAHSBaAB0gWqAQM2LTG4AQPIAQD4AQL4AQHiAwQYACBBiAYB\u0026sclient=gws-wiz-serp\u0026bshm=rimc/1)\n\n# Roadmap\n\nNesta sessão, iremos sugerir uma sequência de assuntos que um desenvolvedor Flutter deve dominar:\n\n## POO e Lógica de programação\n\nO 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.\nPor esse motivo é recomendado que o desenvolvedor já domine os conceitos de POO e Lógica de programação.\n\nRetorne a sessão [Escrever Códigos](#escrever-códigos) para dicas de cursos sobre esses dois assuntos.\n\n## Sintaxe do Dart\n\nAntes de usar o Flutter, o desenvolvedor deverá aprender pelomenos a sintaxe básica do Dart.\n\n[Nesta sessão](#o-dart) foi sugerido alguns cursos pagos e gratuitos para uma imersão na linguagem Dart.\n\n## Aprenda GIT.\n\nGit é essencial para um desenvolvedor.\n\n- [Git para desenvolvedores Flutter](https://www.youtube.com/watch?v=Kx3M6XUpcFE)\n\n## Widgets nativos\n\nTudo no Flutter é Widget.\n\nA tela de um aplicativo Flutter é constituida pela união de outros widgets nativos.\n\n- Domine os principais widgets de alinhamento: **(Column, Row, Stack)**.\n- Entenda o funcionamento do **Container**.\n- Teste todos os widgets disponíveis [NESSE CATÁLOGO](https://docs.flutter.dev/reference/widgets).\n\n## Criação de widgets\n\nExistem 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.\n\n## Componentização de widget\n\nApó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.\n\nAlgumas dicas sobre isso:\n- Tente ter um arquivo por Widget.\n- Reflita o nome do Widget no nome do arquivo: Ex: HomePage(home_page.dart).\n\n## Widgets de inputs\n\n- [AULÃO: Criação de formulários](https://www.youtube.com/watch?v=5SIw8bXiP7o)\n- [Tudo sobre Máscaras](https://www.youtube.com/watch?v=sjQLmibDEu4)\n\n## Aprenda a fazer animações\n\n- [Tudo sobre animações no Flutter](https://www.youtube.com/watch?v=XM-8UTkFr4c\u0026t=3108s)\n\n## Consumo de APIs externas\n\n- [AULÃO: Consumo de APIs (Flutterando)](https://www.youtube.com/watch?v=PUQEd7xRldM)\n\n## Domine o Provider\n\nO Provider é a recomendação da equipe do Flutter para quem está iniciando no mundo Flutter para gerenciar estados e injeção de dependência.\n\n- [AULÃO sobre o Provider(Flutterando)](https://www.youtube.com/watch?v=VhsqMahAmOk)\n- [Provider em 10 minutos (Renato Mota)](https://www.youtube.com/watch?v=Gm8QuYvOTwE)\n- [Como utilizar o Provider e o ChangeNotifier(Prof. Diego Antunes)](https://www.youtube.com/watch?v=xDdAXmAUt6c)\n- [Flutter Provider for Beginners (Inglês)](https://www.youtube.com/watch?v=P47JJU6dlcA)\n\n\n## Aprenda alguns Design Patterns\n\nPadrões de projetos sÃo importantes para o trabalho em equipe.\n\n- [Repository Pattern no Flutter (balta.io)](https://www.youtube.com/watch?v=Q05t3mgaMfk)\n- [CopyWith (Jacob)](https://blog.flutterando.com.br/o-padr%C3%A3o-copywith-no-flutter-dart-267e3d218ffc)\n- [Injeção de dependências (Flutterando)](https://www.youtube.com/watch?v=KpPnDHpgHnA\u0026t=60s)\n- [MVC, MVP e MVVM no Flutter (Flutterando)](https://www.youtube.com/watch?v=WgadnZcujuc)\n- [Factory(Felipe Deschamps)](https://www.youtube.com/watch?v=arAz2Ff8s88\u0026ab_channel=FilipeDeschamps)\n\n## Testes de unidade\n\n- [Um programador confiável (Elemar Jr)](https://www.youtube.com/watch?v=XSdT2myLlw4)\n- [AULÃO sobre testes de unidade (Flutterando)](https://www.youtube.com/watch?v=BLHPRg8ickY)\n- [Semana do Flutter sobre testes (Flutterando)](https://www.youtube.com/playlist?list=PLlBnICoI-g-etEtbvgDnO40SYKOSktCj4)\n- [Curso Pago de testes de unidade (Flutterando)](https://masterclass.flutterando.com.br/public/products/94222fd5-92e5-4890-8e87-455ef4346858)\n\n## Gerência de estado\n\nO 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.\n\n- [BASE DA GERENCIA DE ESTADO (Flutterando)](https://www.youtube.com/watch?v=XGjCatQadrk\u0026ab_channel=JacobMouradaFlutterando)\n- [AULÃO sobre gerência de estado (Flutterando)](https://www.youtube.com/watch?v=_F0GI2dnt-g)\n- [ValueNotifier. A reatividade mais rápida do Flutter](https://www.youtube.com/watch?v=S1PgnMqVgsM)\n- [Curso de gerência de estado com ValueNotifier (Flutterando)](https://www.youtube.com/playlist?list=PLlBnICoI-g-eG0eVkHu2IaO48TljxPjPq)\n- [AULÃO sobre BLoC (Flutterando)](https://www.youtube.com/watch?v=UB28e59GmK8)\n- [AULÃO sobre MobX (Flutterando)](https://www.youtube.com/watch?v=Z6U6L9e8gmE)\n- [AULÃO sobre Triple (Flutterando)](https://www.youtube.com/watch?v=CS97q2PwjSo)\n\n## Arquitetura\n\nA arquitetura de um projeto define a vida útil do mesmo. Todo app tem alguma arquitetura, mesmo que o desenvolvedor não tenha pensado nisso.\n\n1. **App Architecture (Recomendada)**\n- [Documentação da arquitetura recomendada](https://docs.flutter.dev/app-architecture)\n- [Finalmente o Flutter recomendou uma Arquitetura! É oficial!](https://www.youtube.com/watch?v=_pPUqNXudXg)\n- [MVVM, Result e Command. Descubra os Design da Nova ARQUITETURA do Flutter](https://www.youtube.com/watch?v=uFOTMiU82vs)\n- [Flutter recomenda o uso de “Optimistic State”](https://www.youtube.com/watch?v=49LD384mlS0)\n- [O Design Pattern que irá mudar na nova arquitetura do Flutter](https://youtu.be/gzmmK4dfE_g)\n- [Deixando o Flutter mais intuitivo com o result_dart](https://youtu.be/5kJog_PhGbY)\n- [Implementando a NOVA Arquitetura recomendada do Flutter AO VIVO]()\n\n\u003cbr\u003e\n\n2. **Conteúdos sobre Clean Architecture:**\n\n- [AULÃO sobre Clean Architecture (Flutterando)](https://www.youtube.com/watch?v=fABLC2fxQwg)\n- [Playlist sobre Clean Dart (Flutterando)](https://www.youtube.com/playlist?list=PLlBnICoI-g-d-v_fWlkZX2HRgHHPnJx9s)\n- [Masterclass Paga Intermediária (Flutterando)](https://masterclass.flutterando.com.br/public/products)\n  \u003e ficar atento ao canal do Youtube para ver o anuncio de vagas\n\n## Menções honrosas\n\nPrincipais (~e únicos~) gerenciadores de versão do Flutter\n\n- [Link do Puro](https://puro.dev/) | [Video Explicativo](https://www.youtube.com/watch?v=ImCGQM6jhic\u0026t=181s\u0026ab_channel=JacobMouradaFlutterando)\n- [Link do FVM](https://fvm.app/) | [Video Explicativo](https://www.youtube.com/watch?v=9n5dLXJMSqU\u0026ab_channel=JacobMouradaFlutterando)\n\n- Qual é melhor? \nAtualmente 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.\n\nLink de criadores de conteúdo relevante que estão sempre colaborando ou já tem um acervo de qualidade.\n\n- [Jacob Moura da Flutterando](https://www.youtube.com/@JacobMoura7)\n- [Prof. Diego Antunes](https://www.youtube.com/@drantunes)\n- [Paulo Mendes](https://www.youtube.com/@paulomendesdev)\n- [Flutter Mapp](https://www.youtube.com/@FlutterMapp/videos)\n- [Flutter Official](https://www.youtube.com/@flutterdev)\n\nLinks gerais da comunidade (discord, telegram...)\n\n- [Linktree](https://link.flutterando.com.br)\n\nSugestões de Livros. (Leia para aprender, nunca levando tudo como regra e sim absorvendo as partes que lhe fizerem sentido)\n\n- Clean Code\n  \n![image](https://github.com/thKali/roadmap_fork/assets/100535432/48bd94af-05dd-4148-8a2f-41384146e368)\n\n- Padrões de Projeto\n\n![image](https://github.com/thKali/roadmap_fork/assets/100535432/45e1bfcc-090a-41b2-8cf5-d434ec7a4e86)\n\n- Clean Arch\n\n![image](https://github.com/thKali/roadmap_fork/assets/100535432/286b11ae-89e0-4ace-bfe1-fec626bf02fa)\n\n- Refatoração\n\n![image](https://github.com/thKali/roadmap_fork/assets/100535432/438a86c8-e526-443c-a8c7-66e78109b83f)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflutterando%2Froadmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflutterando%2Froadmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflutterando%2Froadmap/lists"}