Nesse curso irei demonstrar na prática como criar um aplicativo com Flutter seguindo as melhores metodologias do mercado. Se você está cansado de cursos básicos e quer realmente aprender sobre conteúdos avançados e relevantes como: Design Patterns, Clean Architecture, SOLID, DRY, KISS, YAGNI, SoC, TDD, DDD, BDD, você está no lugar certo. O objetivo maior desse treinamento é fazer você sair da sua zona de conforto e ver que existem muitas coisas a serem estudadas para se tornar um líder técnico ou um arquiteto de software.
Flutter, TDD, Clean Architecture, SOLID e Design Patterns
Flutter, TDD, Clean Architecture, SOLID e Design Patterns is a 133-lesson 39 hours 23 minutes self-paced course by Udemy. Nesse curso irei demonstrar na prática como criar um aplicativo com Flutter seguindo as melhores metodologias do mercado.
Course facts
- Lessons
- 133
- Duration
- 39 hours 23 minutes
- Level
- All levels
- Language
- English
- Updated
- Instructor
- Udemy
- Price
- Premium
Vamos criar um aplicativo completo com Login, Cadastro, Lista de Enquetes, Responder uma Enquete e Resultado da Enquete.
Vamos aprender a fazer gerenciamento de estado de forma simples e efetiva com testes e utilizando a biblioteca GetX.
Vamos aprender como manter um usuário logado gravando seu token de acesso de forma segura.
Vamos fazer o aplicativo ficar funcional online e offline.
Vamos tornar o aplicativo multi-idioma.
Esse curso fará você evoluir mais do que anos de faculdade. Mostrarei pra você, de forma objetiva, todos os conhecimentos que obtive ao longo dos anos de minha carreira. Você terá a oportunidade de evoluir em semanas ou meses (dependendo do seu nível e de sua disponibilidade em estudar) o que um programador sênior leva anos para aprender.
Who teaches Flutter, TDD, Clean Architecture, SOLID e Design Patterns? Udemy
Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.
Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.
What lessons are included in Flutter, TDD, Clean Architecture, SOLID e Design Patterns?
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Pra quem é esse curso? Demo | 02:45 | |
| 2 | Configurando o Git | 17:31 | |
| 3 | Ajuste da aula anterior | 01:05 | |
| 4 | Dica para o treinamento | 14:53 | |
| 5 | BDD, UseCase e Diagrama de Dependências | 16:15 | |
| 6 | Criando o Authentication UseCase | 05:43 | |
| 7 | Criando o RemoteAuthentication e integrando com o HttpClient | 18:03 | |
| 8 | Testando o body do request | 21:40 | |
| 9 | Testando casos de exceção do HttpClient | 16:52 | |
| 10 | Testando caso de sucesso | 27:46 | |
| 11 | Criando o HttpAdapter e testando o post | 22:59 | |
| 12 | Testando casos de sucesso | 17:11 | |
| 13 | Testando casos de erro | 21:25 | |
| 14 | Criando os Widgets da tela de Login | 13:51 | |
| 15 | Criando estilo para os Widgets | 21:17 | |
| 16 | Criando Ãcone para o aplicativo | 08:32 | |
| 17 | MVC vs MVVM vs MVP vs BLOC | 27:14 | |
| 18 | Testando estado inicial do LoginPage | 17:11 | |
| 19 | Testando estados do formulário no LoginPage | 37:47 | |
| 20 | Testando estados da ação de fazer login | 26:03 | |
| 21 | Reutilizando o presenter nos Widgets com Provider | 19:12 | |
| 22 | Criando o LoginPresenter com StreamController | 29:18 | |
| 23 | Integrando o StreamLoginPresenter com o Validation | 25:57 | |
| 24 | Integrando o StreamLoginPresenter com o Authentication | 28:54 | |
| 25 | Criando o RequiredFieldValidation | 15:20 | |
| 26 | Criando o EmailValidation | 13:02 | |
| 27 | Criando o ValidationComposite | 23:13 | |
| 28 | Fazendo a composição da tela de Login | 27:20 | |
| 29 | Aplicando o Design Pattern Builder | 15:49 | |
| 30 | Tornando o construtor do ValidationBuilder privado | 02:18 | |
| 31 | Refatorando para usar o GetX como gerenciador de estado | 42:09 | |
| 32 | Criando caso de uso para gravar o token de acesso no cache | 12:49 | |
| 33 | Criando o LocalSaveCurrentAccount | 25:43 | |
| 34 | Criando o LocalStorageAdapter e integrando com o Flutter Secure Storage | 19:46 | |
| 35 | Integrando o LoginPresenter ao SaveCurrentAccount | 35:33 | |
| 36 | Criando o caso de uso para carregar os dados da conta do usuário | 08:30 | |
| 37 | Criando o LocalLoadCurrentAccount | 23:55 | |
| 38 | Integrando o FetchSecureCacheStorage ao LocalStorageAdapter | 12:26 | |
| 39 | Criando a tela de Splash | 23:52 | |
| 40 | Criando o Presenter para o Splash Page com GetX | 20:34 | |
| 41 | Fazendo a composição do Splash Page | 12:04 | |
| 42 | Aplicando i18n | 18:46 | |
| 43 | Refatorando o projeto para centralizar as traduções na UI Layer | 46:44 | |
| 44 | Criando o UseCase do AddAccount | 07:25 | |
| 45 | Testando a implementação do AddAccount UseCase voltado para API | 26:42 | |
| 46 | Testando o estado inicial do SignUp Page | 12:20 | |
| 47 | Testando a validação do formulário do SignUp Page | 22:19 | |
| 48 | Finalizando os testes do SignUp Page | 18:32 | |
| 49 | Testando o Validation no SignUpPresenter | 12:18 | |
| 50 | Testando o AddAccount no SignUpPresenter | 28:53 | |
| 51 | Testando navegação entre as telas de Login e SignUp | 13:44 | |
| 52 | Criando o MinLengthValidation | 14:08 | |
| 53 | Criando o CompareFieldsValidation | 06:14 | |
| 54 | Refatorando o projeto por conta de uma modelagem errada | 30:34 | |
| 55 | Fazendo a composição do SignUp | 12:24 | |
| 56 | Correção de bug encontrado | 08:51 | |
| 57 | Criando o LoadSurveys UseCase | 11:26 | |
| 58 | Testando a integração do RemoteLoadSurveys com o HttpClient | 08:57 | |
| 59 | Testando casos de sucesso da API | 29:00 | |
| 60 | Testando casos de exceção da API | 10:14 | |
| 61 | Implementando o Get no HttpAdapter | 14:14 | |
| 62 | Criando a interface da tela de Surveys | 17:10 | |
| 63 | Testando o estado inicial e a stream de loading | 21:33 | |
| 64 | Testando a stream de dados da enquete | 19:42 | |
| 65 | Testando dados corretos das enquetes | 06:28 | |
| 66 | Criando o GetxSurveysPresenter e testando suas streams | 32:48 | |
| 67 | Movendo o GetxSurveysPresenter para produção | 03:10 | |
| 68 | Fazendo a composição do Surveys Page | 15:24 | |
| 69 | Adicionando headers no HttpClient | 11:33 | |
| 70 | Aplicando o Design Pattern Decorator | 35:49 | |
| 71 | Alterando a composição para usar o Decorator | 08:07 | |
| 72 | Correção de bug encontrado | 08:55 | |
| 73 | Criando os requerimentos para listar enquetes offline | 10:47 | |
| 74 | Testando o caso de sucesso do LocalLoadSurveys | 21:09 | |
| 75 | Testando casos de erro do LoadLocalSurveys | 17:20 | |
| 76 | Fazendo o LocalLoadSurveys implementar o Validate | 20:30 | |
| 77 | Fazendo o LocalLoadSurveys implementar o Save | 21:00 | |
| 78 | Separando a implementação do cache e do cache seguro | 08:21 | |
| 79 | Testando o Save do LocalStorageAdapter | 16:32 | |
| 80 | Testando o Delete do LocalStorageAdapter | 07:32 | |
| 81 | Testando o Fetch do LocalStorageAdapter | 09:51 | |
| 82 | Movendo o ValidationComposite para o Main Layer | 08:11 | |
| 83 | Testando caso de sucesso do Composite | 14:47 | |
| 84 | Testando casos de exceção do Composite | 17:00 | |
| 85 | Fazendo a composição com o novo Composite | 21:03 | |
| 86 | Criando o caso de uso do LoadSurveyResult | 12:49 | |
| 87 | Criando a implementação do LoadSurveyResult com API | 27:59 | |
| 88 | Criando a estrutura de arquivos | 05:32 | |
| 89 | Criando o layout da tela de resultado da enquete | 19:39 | |
| 90 | Testando o estado inicial e a stream de loading | 17:56 | |
| 91 | Testando casos de erro | 19:39 | |
| 92 | Testando caso de sucesso | 25:15 | |
| 93 | Refatorando o código | 11:34 | |
| 94 | Criando o GetxSurveyResultPresenter e testando suas streams | 19:30 | |
| 95 | Adicionando link entre Survey e SurveyResult | 15:51 | |
| 96 | Criando a composição da tela de resultado da enquete | 11:30 | |
| 97 | Limpando o token de acesso do Cache no erro 403 | 24:34 | |
| 98 | Deslogando o usuário em caso de acesso negado | 23:03 | |
| 99 | Aplicando o DRY com o uso de Mixins nos Presenters | 13:34 | |
| 100 | Aplicando o DRY com o uso de Mixins nos Widgets | 18:58 | |
| 101 | Evitando Memory Leaks | 05:21 | |
| 102 | Implementando o método de Load | 28:34 | |
| 103 | Implementando o método de Validate | 06:17 | |
| 104 | Implementando o método de Save | 18:49 | |
| 105 | Aplicando o Design Pattern Composite 1/2 | 21:39 | |
| 106 | Aplicando o Design Pattern Composite 2/2 | 21:27 | |
| 107 | Alterando a composição do SurveyResult para usar o Composite | 09:42 | |
| 108 | Ajuste no save do LocalLoadSurveyResult | 05:51 | |
| 109 | Domain Layer | 07:18 | |
| 110 | Data Layer | 18:31 | |
| 111 | Infra Layer | 05:26 | |
| 112 | UI Layer | 10:30 | |
| 113 | Presentation Layer | 16:40 | |
| 114 | Main Layer | 08:21 | |
| 115 | Correção de bugs encontrados | 21:51 | |
| 116 | Fazendo reload de uma tela após o evento de back do navigation | 15:38 | |
| 117 | Simplificando os testes de UI com helpers | 15:30 | |
| 118 | Refatorando os Mocks 1/3 | 30:05 | |
| 119 | Refatorando os Mocks 2/3 | 21:01 | |
| 120 | Refatorando os Mocks 3/3 | 08:11 | |
| 121 | Migrando para a versão nova do Flutter com FVM | 13:37 | |
| 122 | Migrando mockito para mocktail | 19:23 | |
| 123 | Removendo meta.dart | 24:24 | |
| 124 | Corrigindo erros da pasta lib | 18:04 | |
| 125 | Corrigindo erros da pasta test | 08:17 | |
| 126 | Refatorando os mocks | 27:11 | |
| 127 | Corrigindo bug do mocktail que retorna null pra todos os mocks (até para void) | 15:47 | |
| 128 | Extraindo mocks do Data Layer | 19:31 | |
| 129 | Extraindo mocks do Infra Layer | 26:31 | |
| 130 | Extraindo mocks do Main Layer | 30:29 | |
| 131 | Extraindo mocks do Presentation Layer | 30:37 | |
| 132 | Extraindo mocks do UI Layer | 35:54 | |
| 133 | Ajustes finais | 07:34 |
Get instant access to all 132 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionWhat courses are similar to Flutter, TDD, Clean Architecture, SOLID e Design Patterns?
-
ClassicFlutter & Dart - The Complete Guide [2023 Edition]
By: Udemy, Academind Pro (Maximilian Schwarzmüller)The entire course was completely re-recorded and updated - it's totally up-to-date with the latest version of Flutter!68h 5m4/5 -
Updated 2y agoFlutter Masterclass
By: The Net NinjaFlutter is a remarkable framework for creating cross-platform applications (mobile, desktop, and web) using the Dart programming language.14h 56m5/5 -
Updated 2y agoBuild a Yelp! Clone for Restaurants with Flutter and Dart
By: Zero To MasteryBuild a comprehensive Flutter app for mobile (iOS & Android) and web that allows users to write reviews, ratings, photos, locations, and syncs via the Cloud.13h 15m -
Updated 2y agoDart 101
By: FireshipDart 101 gives you a clear start with Dart. You learn core ideas that help you write Flutter apps with confidence.46m -
Updated 1y agoFlutter In Production
By: Code With AndreaYou learn how to set flavors, watch errors, add analytics, and handle app release. This course shows you how to ship and track your Flutter app in stores.19m -
Updated 3y agoFlutter Developer Bootcamp
By: Reso CoderFlutter is explosively taking over the cross-platform front-end market. Although it's only 2.5 years since the first stable release.35h 46m5/5 -
Updated 1y agoLine-of-Business Mobile Apps with Flutter and Dart
By: Fullstack.ioUnlock the power of Flutter and Dart to create versatile, cross-platform mobile applications from a single codebase. -
Updated 2y agoFlutter & Firebase Masterclass (COMPLETE PACKAGE)
By: Code With AndreaLearn about Firebase Auth, Cloud Firestore, Cloud Functions, Stripe payments, and much more by building a full-stack eCommerce app with Flutter & Firebase.11h 38m
More courses by Udemy
-
NewReact - The Complete Guide
React: The Complete Guide by Maximilian Schwarzmüller — original 2022 edition covering React hooks, Redux, Context API, Next.js basics.47h 42m5/5 -
Updated 3y agoComplete C# Unity Game Developer 3D
This is the long-awaited sequel to the Complete Unity Developer - one of the most popular e-learning courses on the internet!30h 34m -
Updated 3y agoNest.js Microservices: Build & Deploy a Scaleable Backend
Nest.js is an incredible backend framework that allows us to build scaleable Nodejs backends with very little complexity. A Microservice architecture is a popul5h 39m5/5 -
Updated 3y agoThe HTML & CSS Bootcamp 2023 Edition
Brand new HTML & CSS course, just released in February 2023 Check out the promo video to see the beautiful, responsive projects we build in this course!37h 18m5/5 -
Updated 3y agoMicroservices with Node JS and React
Event-Based Architecture? Covered! Server side rendering with React? Yep. Scalable, production-ready code? Its here!54h 13m5/5 -
FreeClassic100 Days of Code - The Complete Python Pro Bootcamp for 2023
Watch the 100 Days of Code Python Pro Bootcamp free: 100 daily projects covering Python basics, web scraping, data science, automation and GUI apps.58h 35m5/5