Flutter Advanced Course - Clean Architecture With MVVM
Become a job ready for flutter developer.
Development ,Mobile Development,Google Flutter
Lectures -172
Resources -13
Duration -19.5 hours
Lifetime Access
Lifetime Access
30-days Money-Back Guarantee
Get your team access to 10000+ top Tutorials Point courses anytime, anywhere.
Course Description
Flutter is defined as Google’s UI toolkit for building beautiful, natively compiled applications for mobile (Android, iOS ) desktop (Linux, Mac, Windows, Google Fuchsia) and the web from a single codebase. Since Flutter is cross-platform, you can use the same code base for your iOS and Android apps. This can definitely save you both time and resources. This course will help you to move from junior developer to experienced developer. You will have the knowledge of "How to implement a structured project?". Your code will be easily readable, maintainable and sustainable. You will get a real experience from a real project so you will start coding from scratch to build a clean architecture project with MVVM. You will build the presentation layer, data layer, domain layer and application layer step by step. This architecture is designed to make it easier to create stable apps even when outer elements such as UI, databases, or external APIs are always changing. It’s essentially a collection of best practice design principles that help you keep business logic, or domain logic, together and minimize the dependencies within the system. After completing this course you can reuse the source code of this course and customize it to build your clean architecture with MVVM project in a professional way.
Goals
Clean Architecture Design Pattern
MVVM - Model - View - View Model Pattern
ViewModel Inputs and Outputs
Base ViewModel and Base UseCase
Application Layer - Dependency Injection, Routes Manager and Application class
Application Layer - Extensions and Shared Functions
Data Layer - Data Sources (Remote Data Source/ Local Data Source)
Data Layer - API Service Client (Same as Retrofit in Android)
Data Layer - Calling APIs (Remote Data Source)
Data Layer - Adding Logger Interceptor
Data Layer - Caching API responses (Local Data Source)
Data Layer - JSON Serialization and Annotations
Data Layer - Repository Implementation
Data Layer - Mapper (Converting responses into Models)
Data Layer - Mapper (Using domain Concept)
Data Layer - Applying Null Safety
Data Layer - Creating Mock APIs (Stub APIs)
Domain Layer - Models
Domain Layer - Repository Interfaces
Domain Layer - UseCases
Domain Layer - Either Concept (Left - Failure) / (Right - Success)
Domain Layer - Data Classes
Presentation Layer - UI (Splash - Onboarding - Login - Register - Forgot Password - Main - Details - Settings - Notification - Search))
Presentation Layer - State Renderer (Full-Screen States - Popup States)
Presentation Layer - State Management (Stream Controller - RX Dart - Stream Builder)
Presentation Layer - Localisations (English - Arabic), (RTL - LTR)
Presentation Layer - Assets Manager (Android and Ios Icons and Image sizes)
Presentation Layer - (Fonts - Styles - Themes - Strings - Values - Colors) Managers
Presentation Layer - Using JSON Animations
Presentation Layer - Using SVG images
Using 18 Flutter Packages
Getting Device Info (Android - Ios)
Using Abstract classes
Prerequisites
Dart and Flutter Knowlege is a MUST
Install Android Studio or Visual Studio and have Flutter SDK ready
Curriculum
Check out the detailed breakdown of what’s inside the course
Introduction
3 Lectures
- About the Course 02:23 02:23
- Content of the Course 07:58 07:58
- Who Can Attend this Course? 01:06 01:06
Presentation Layer - Resources Manager
16 Lectures
Presentation Layer - Splash Screen
5 Lectures
Presentation Layer - OnBoarding Screen
8 Lectures
Presentation Layer - MVVM
7 Lectures
Data / Domain layers - Clean Architecture Design Pattern
27 Lectures
Presentation Layer - Login Flow
11 Lectures
Application Layer - Dependency Injection
4 Lectures
Presentation Layer - State Renderer
22 Lectures
Presentation Layer - Handling Pre Login Flow
3 Lectures
Assignment #1 - Forgot Password Flow
2 Lectures
Assignment #2 - Adding Success State Renderer
2 Lectures
Data / Domain Layers - Registration Flow
2 Lectures
Presentation Layer - MVVM - Register Flow
20 Lectures
Presentation Layer - Main Flow
3 Lectures
Data / Domain Layers - Home Flow
8 Lectures
Presentation Layer - MVVM - Home Flow
9 Lectures
Assignment #3 - Refactor Home
2 Lectures
Data Layer - Caching (Local Data Source)
4 Lectures
Assignment #4 - Store Details Flow
2 Lectures
Presentation Layer - Setting Screen
2 Lectures
Presentation Layer - Localisation
7 Lectures
Source Code
1 Lectures
Q&A
1 Lectures
Instructor Details
Mina Farid
Course Certificate
Use your certificate to make a career change or to advance in your current career.
Our students work
with the Best
Related Video Courses
View MoreAnnual Membership
Become a valued member of Tutorials Point and enjoy unlimited access to our vast library of top-rated Video Courses
Subscribe nowOnline Certifications
Master prominent technologies at full length and become a valued certified professional.
Explore Now