Roadmap to becoming a Flutter Developer in 2022.
🗺 Flutter Roadmap — 2022
There is no specific roadmap to learn Flutter So any sources included in this roadmap are personal recommendations. You can choose one or more sources if you wish, or you can search for other sources.
Content
Introduction :
🚀 let's start our journey to learn flutter, I will divide the roadmap into different levels..
- If you know any one programming language like C# , Java then you can grasp dart with within two to three days.
- else you will need to study dart well and need to solve some problems then you will Learn.
🎯 What is Dart?
- Dart is a general-purpose, object-oriented programming language with C-style syntax.
- It is open-source and developed by Google and released in 2011.
- The purpose of Dart programming is to create a frontend user interfaces for the web and mobile apps.
📌 What is flutter?
- Flutter is a UI toolkit for creating fast, beautiful, natively compiled mobile applications with one programming language and a single codebase, This means that you can use one programming language and one codebase to create two different apps (for iOS and Android).
- It is an open-source development framework developed by Google and released in May 2017. Generally, Flutter is not a language; it is an SDK(Software Development Kit).
- Flutter apps use Dart programming language for creating an app.
- Flutter is mainly optimized for 2D mobile apps that can run on both Android and iOS platforms. We can also use it to build full-featured apps, including camera, storage, geolocation, network, third-party SDKs, and more.
Install flutter and dart
Dart :
In this level you will Learn... ?
1. Null safety
Arabic
2. Basics
- variables and data types.
- Operators.
- Comments.
- Control flow statements.
- Functions (parameters & its types) ,anonymous functions and fat arrow(=>) functions.
3. OOP
- Classes and objects
- constructors
- Getters setters
- Encapsulation, Polymorphism, Abstraction, Inheritance
- Abstract classes and interfaces etc.
Note:
If you are beginner, and you don’t know any
OOP
concepts watch Mosh video about OOP concepts in general : OOP in 7 minutes..
English
Arabic
Official docs
Note:
✅ After finishing dart and opp you can be able to start learning flutter. but it's important to learn...
3. Data Structures & Algorithms
Udacity
Books
4. SOLID Principles
The SOLID Principles are five principles of Object-Oriented class design. They are a set of rules and best practices following while designing a class structure.
Arabic
ARTICLE
5. Clean Code
Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code But it doesn’t have to be that way.
you will Learn.. ?
- How to tell the difference between good and bad code.
- How to write good code and how to transform bad code into good code.
- How to create good names, good functions, good objects, and good classes.
- How to format code for maximum readability.
- How to implement complete error handling without obscuring code logic.
- How to unit test and practice test-driven development.
Arabic
Books
Flutter :
In this level you will Learn... ?
1. Widgets & Ui
- 1. Basics styling widgets:
- Basic widgets to style a static UI like Text, Container, Row, Column, Asset Image, Network Image, Stack etc.
- 2. Use of Assets in pubspec.yaml:
- Know how to use assets(image, video, SVG, images ) and how to add using pubspec.yaml file.
- 3. Types Of Widgets (StatelessWidget vs StatefulWidget):
- Know the difference between stateless and stateful widgets.
- 4. Navigation & Route:
- Know how to navigate to next screen and back top previous and how to create routes.
English
Arabic
Official docs
you can see this playlist after learning basics to make ui easy and do 2 Apps.
Note:
After finishing this level you can be able to create beautiful static user interfaces. ✅
2. Map
English
Arabic
3. Database
ARTICLE
1. Relational :
2. NoSQL :
- Hive
4. Api
If you want to use data live from internet within your app you need to learn ?
-
- how to call REST API’s
-
- make a Model for the request and response
-
- Parsing JSON data into dart objects
-
- HTTP requests.(post, delete, get, put)
English
Arabic
Official docs
ARTICLE
5. Firebase
Arabic
- Wael abo hamza (Firebase)
- Firebase With Flutter
- Abdullah Mansour (Udemy course paid)
- hassan falah (Udemy course paid)
6. Architecture pattern
Arabic
7. State Management
- introduction to State Management (Ahmed Abu Eldahab)
- difference between SetState, Provider, GetX , Cubit and Bloc
1. Provider
2. Cubit
3. GetX
8. Animation
Arabic
9. Publish App
How To Publish your App On Google Play Store and App Store ?
English
Arabic
Others :
Full Courses
- Angela Yu (Udemy course)
- Maximilian Schwarzmüller (Udemy course)
- Abdullah Mansour (Udemy course)
- hassan falah (Udemy course)
Books
Free APIs You Can Use for Testing
Icons
Tools
What is next : 🧐
You will need to search and keep learning more and more..