Flutter Engineering
World Wide Flutter 🎯
Dart Programming I
Dart Programming II
Flutter Framework I
Flutter Framework II
Real-World Projects
Data Structures in Dart
“Flutter Engineering — More than a concept” by Xurshidbek
Dart Programming I
Dart Programming Language
Overview
Basic Syntax
Variables
Null Safety
Operators
Conditions
Loops
Data Types I
Data Types II
Runes
Collections
Functions
Typedef
Enumeration
Algorithm problems with Dart
Leetcode Problems
Number Algorithms
String Algorithms
Array Algorithms
Matrix Algorithms
Dynamic Programming
Interview Approaches
Dart Programming II
Object-Oriented Programming in Dart
Classes
Objects
Getters & Setters
Constructor
Overloading
Inheritance
Overriding
Abstraction
Interface
Mixin
Polymorphism
Exceptions
Generics
Solid Principles
Design Patterns
Asynchronous Programming in Dart
Synchronous
Asynchronous
async keyword
await keyword
future keyword
Future (async)
Then
Handling Errors
Stream (async*)
yield
Single Streams
Broadcast Streams
Flutter Framework I
Android & iOS Settings
Overview of Flutter SDK
Installation
Windows, Mac, Linux
Android Studio
Android Emulator
Android Phone, Tablet
Xcode
iOS Simulator
iPhone, iPad
Hello World Project
Change App Icon
Change App Name
easyappicon.com
AndroidManifest.xml
Info.plist
Git & GitHub
SVN
GitHub
GitLab
Bitbucket
Commits
Branches
Clone
Pull
Push
Fetch
Merge
Rebase
Squash
Navigation & Routing
Navigator
MaterialPageRoute
push
pushReplacement
pushNamed
pushReplacementNamed
Passing data forward to the next screen
Passing data back to the previous screen
Widgets in Focus I
Text
SetState
Stateless Widget
Stateful Widget
Column
Row
Stack
Container
Expanded
Material Button
Outline Button
Icon Buttons
Image
Local Image
AssetImage
Network Image
CachedNetworkImage
Widgets in Focus II
Android Dialog
iOS Dialog
AlertDialog
CupertinoAlertDialog
Platform.isAndroid
Platform.isIOS
Platform.isWeb
Drawer
ListView
Horizontal ListView
SingleChildScrollView
GridView
PagerView
TabBarView
Widgets in Focus III
Container
Decoration
LinearGradient
Customized Buttons
Text
GestureDetector
Customized TextFields
SliverAppBar
NavigationRail
Form
GlobalKey
FormState
TextFormField
Building an App
Instagram App
Splash Page
SignIn Page
SignUp Page
Reels Page
Timer, Duration
MediaQuery
Custom Fonts
Billabong
HexColor
Amazon App, Shop Page
Facebook App, Feed Page
App Performance
Build Modes
kDebugMode
kProfileMode
kReleaseMode
DevTools
Application Performance Monitoring (APM)
Hot-Reload
Hot-Restart
Just In Time(JIT)
Ahead Of Time(AOT)
Debugging
Theme Modes
Theme Mode
ThemeData.light
ThemeData.dark
Customized ThemMode
AppTheme, AppColor
LightColorTheme
DarkColorTheme
Brightness
Primary
OnPrimary
Secondary
OnSecondary
PrimaryContainer
OnPrimaryContainer
Localizations
Localization
Internationalization
EasyLocalization
Locales
Language Code
Country Code
en-US, ru-RU
uz-UZ, kr-KO
Assets
Translations
JSON
Lifecycles
Widget Lifecycles
initState
didChangeDependencies
build
didUpdateWidget
setState
deactivate
dispose
App Lifecycles
WidgetsBindingObserver
AppLifecycleStates
inactive
resumed
paused
detached
hidden
Widget Types
Stateless Widget
Stateful Widgets
Inherited Widget
updateShouldNotify
ThemeColor.of()
Widget Tree
Element Tree
Widgets
Stateful Element
Stateless Element
State Object
Key Types
Value Key
TextField
ValueKey(“name”)
Unique Key
StatefulWidget
Emoji
UniqueKey()
Object Key
ReorderableListView
ObjectKey(item)
Global Key
Passing State
GlobalKey
CounterPageState
Animations
AnimationController
Tween
Animation
Listener
Status
Resize/Pulse Animation
Slide Animation
Customized Animation
Fade Animation
Packages
Lottie Animation
Lottie Asset
Lottie Network
JSON
Flutter Framework II
Shared Preferences
Android
SharedPreferences
iOS
NSUserDefaults
Web
LocalStorage
Write ,Read, Remove
Value, Object
Service
View Data
Device Explorer
Package Name
BundleID
Data Folder
XML
Encrypted Shared Preferences
Flutter Secure Storage
SharedPreferences
Android KeyStore
iOS Keychain
AES Encryption
RSA Encryption
Write ,Read, Remove
View Data
Device Explorer
Package Name
BundleID
Data Folder
XML
NoSQL Databases
NoSQL Database
Hive Flutter
Hive Generator
Build Runner
Path Provider
Register Adapter
Put, Add, PutAt, Get, Delete
Save object using key and value
Save object without key
View Data
Device Explorer
Package Name
BundleID
Data Folder
XML
SQL Databases
SQL Database
Sqflite
Path Provider
DB name, DB version
Open Database, SQL Query
Create Object
Fetch Objects
Update Object
Delete Object
View Data
Device Explorer
Package Name
BundleID
Data Folder
XML
Networking I
REST
Socket
GraphQL
Rest (Http)
Rest (Dio)
Rest (Retrofit)
Customized Network Class
GET, POST, PUT, DELETE
API, Postman
Logger
Network Request
Network Response
Networking II
Parsing Response
JSON to Object
Customized Network Class
quicktype.io
API, Postman
File Upload
Multipart
Multithread & Isolate
Single Streams
Broadcast Streams
Firebase Essentials
Firebase Project
Android Settings
iOS Settings
Firebase Auth
Firebase Databases
Firebase Storage
Crashlytics
App Distribution
Remote Config
Clone App with Firebase
Firebase Authentication
Firebase Database
Firebase Storage
Firebase Messaging
Redesigning Instagram
Push Notifications (FCM)
Local Notifications
Shared Preferences
Image Loading & Caching
Custom Fonts
Device Parameters
State Managements
Real-World Examples
SetState
Provider
Riverpod
GetX
BloC(Bloc)
BloC(Cubit)
REST API
Pagination
Deep Dive into GetX
GetMaterialApp
Get.put, Get.find
Get.lazyPut
Obx, GetX
GetBuilder
obs, update
DIService
BindService
Bindings
Get.to, Get.toNamed
Get.back, Get.off, Get.offAll
GetStorage
Get Localization
Get Theme Mode
Get Validators
GetConnect
Deep Dive into BloC
BlockProvider
MultiBlockProvider
BlocBuilder
RepositoryProvider
MultiRepositoryProvider
BlocSelector
BlocListener
MultiBlocListener
BlocConsumer
Bloc or Cubit
Bloc Concurrency
Event Bus
Deep Dive into Riverpod
riverpod
flutter_riverpod
flutter_hooks
hooks_riverpod
Provider Scope
Provider
Consumer
Consumer Widget
watch & read
State Provider
Stream Provider
Future Provider
State Notifier
Change Notifier
Notify Listeners
Freezed Unions
Auto Dispose
Clean Architecture
Dependency Injection (DI)
Dagger(Android)
Swinject(iOS)
get_it(Flutter)
Injectable
MVC Architecture
MVVM Architecture
Presentation
Data
Domain
UI
Modularization
Advanced Concepts
Platform channel with Kotlin
Platform channel with Swift
Android Specific
iOS Specific
Unit Test
Widget Test
Integration Test
CI/CD
Github Actions
Real-World Projects
Project Planning
Plan Team
Design Team
Development Team
BackEnd Team
Mobile Team
FrontEnd Team
Real World Project (GetX)
Obx,GetX
GetBuilder
Google AI-I
Internationalization
Dark & Light Themes
Dependency Injection
SQL & NoSQL Databases
Featured Animations
Customized Networking
Functional Programming
Clean Architecture
CI/CD, Github Actions
Real World Project (Bloc)
Bloc
Google AI-II
Internationalization
Dark & Light Themes
Dependency Injection
SQL & NoSQL Databases
Featured Animations
Customized Networking
Functional Programming
Clean Architecture
CI/CD, Github Actions
Real World Project (Cubit)
Cubit
Google AI-III
Internationalization
Dark & Light Themes
Dependency Injection
SQL & NoSQL Databases
Featured Animations
Customized Networking
Functional Programming
Clean Architecture
CI/CD, Github Actions
Real World Project (Riverpod)
Riverpod
Google AI-IV
Internationalization
Dark & Light Themes
Dependency Injection
SQL & NoSQL Databases
Featured Animations
Customized Networking
Functional Programming
Clean Architecture
CI/CD, Github Actions
Android & iOS Deployment
Play Market by Google
App Store by Apple
App Gallery by Huawei
Data Structures in Dart
Data Structures
BigO Notation
LinkedList
Stacks
Queues
Trees
BFS
DFS
Tries
Heap
Directed Graphs
Undirected Graphs
BFS, DFS in Graphs
Dijkstra’s Algorithm