In this repository you will learn Flutter from scratch .Throughout this roadmap, you will have a better understanding of the programming language Dart and the framework Flutter.
If you believe that a topic may be made better or that a comprehensive topic is missing? Then
Throughout this Flutter roadmap, there are checkboxes for every topic and projects that you can cover. You can track your progress by forking this project and marking the checkboxes accordingly.
The open-source mobile application development platform called Flutter, developed by Google, has been quite popular in recent years, and this development is only expected to continue. Flutter is anticipated to become even more well-known among programmers and businesses trying to create cross-platform mobile applications in 2023.
You might already know that there are several frameworks available that offer cross-platform capability, but what sets flutter apart from the competition?
Fast Development The quick reload feature of Flutter makes it effortless and speedy to test out new ideas, design UI, incorporate new features, and fix mistakes. Whether you are using iOS or Android devices, simulators or emulators, you can experience reload times in less than a second without losing any previous data. Read More..
Native Performance To provide full native performance on both iOS and Android, Flutter's widgets consider all major platform differences, such as scrolling, navigation, icons, and fonts. You can find examples of applications built with Flutter. Apps built with Flutter
Better UI The Users will be pleased with Flutter's appealing in-built Material Design and Cupertino (iOS style) widgets, dynamic motion APIs, smooth and natural scrolling, and its ability to adapt to different platforms. Check out the widget collection.
Okay, so now you know what Flutter is. We'll examine Dart's definition next because that is the programming language you will be using. Once more, there is a YouTube video that might assist you there:
Google Developers - Introducing Dart: https://www.youtube.com/watch?v=5KlnlCq2M5Q
Perhaps you feel that this explanation falls short for you and that a more in-depth understanding of Dart is necessary. You should be aware that Dart and Flutter have excellent documentation, from which you could potentially learn everything. Because of this, I discovered an overview of Dart here:
Okay, now that we have learned what Flutter & Dart are, let's start installing Flutter & Dart.
Once you know how to do it, installing Flutter & Dart is not too difficult.
Given how excellent Flutter's documentation is, I've linked to every article you'll need to have a full Flutter setup here.
Windows Install: https://flutter.dev/docs/get-started/install/windows
Macos Install: https://flutter.dev/docs/get-started/install/macos
Linux Install: https://flutter.dev/docs/get-started/install/linux
Chrome OS Install: https://flutter.dev/docs/get-started/install/chromeos
Install Visual Studio Code: https://code.visualstudio.com/
Visual Studio Code Flutter Extension: https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
Install Android Studio: https://developer.android.com/studio/
If you are a total newbie and are searching for some YouTube playlists or Udemy classes, I would suggest the following:
- Flutter & Dart - The Complete Guide [2023 Edition] (Udemy by Maximilian)
- The Complete Flutter Development Bootcamp with Dart (Udemy by Angela-Yu)
- [Net Ninja (Youtube)]
Before we can start, it’s quite important to understand the programming language we will be using over here for this reason, we will take a closer look at Dart's syntax.
If you're a beginner programmer, understanding OOP and stack data structures is a bonus! Otherwise, you don't need to study Dart explicitly because it is pretty comparable to Java, C++, and C# and you will learn it as you go.
The Dart documentation includes a Language Tour, which is well-written and comprehensive. Although the article may be lengthy, if you have read it thoroughly and comprehended its content, you can confidently say that you are familiar with Dart syntax and capable of writing Dart code.
-
A Tour of the Dart language: https://dart.dev/guides/language/language-tour
-
Effective Dart : https://dart.dev/guides/language/effective-dart
-
Effective Dart: Style : https://dart.dev/guides/language/effective-dart/style
-
Effective Dart: Documentation : https://dart.dev/guides/language/effective-dart/documentation
-
Effective Dart: Usage : https://dart.dev/guides/language/effective-dart/usage
-
Effective Dart: Design : https://dart.dev/guides/language/effective-dart/design
DartPad (Dart Language Online Compiler): https://dartpad.dev/?
JavatPoint: https://www.javatpoint.com/dart-first-program
Dart_Tutorial: https://dart-tutorial.com/introduction-and-basics/
Geeks_for_Geeks: https://www.geeksforgeeks.org/dart-tutorial/
Tutorials_Point: https://www.tutorialspoint.com/dart_programming/dart_programming_async.htm
freecodecamp youtube: https://www.youtube.com/watch?v=Ej_Pcr4uC2Q
Dart Basics Concepts | Sub-Topics |
---|---|
|
var, dynamic, int, String, double, bool, runes, symbols |
|
bitwise AND &, bitwise XOR ^, bitwise OR, logical AND &&, logical OR, if null ?? , cascade .., |
|
if and else, for loops, while and do-while, break and continue, switch and case, assert |
|
Function as a variable, optional and required parameters, fat arrow, named parameters, @required keyword, positional parameters, default parameter values, Function as first-class objects, Anonymous functions, lexical scopes, Lexical closures |
|
Class members, Constructors, Getting object type, instance variables, getters and setters, Named constructors, Initializer, lists, Constant constructors, Redirecting constructors, Factory constructors, instance methods, abstract methods, abstract classes, Inheritance, Overriding, Overriding operators, noSuchMethod(), Extension methods, Enums, Mixins (on keyword in mixins), Static keyword, static variables and methods |
|
List (Fixed and Growable), methods |
|
Map (Fixed and Growable), methods |
|
Futures, await, async, Streams, Stream methods |
|
Objects, Class and Objects, Constructor, Default Constructor, Parameterized Constructor, Named Constructor, Constant Constructor, Encapsulation, Getter, Setter, Inheritance, Inheritance of Constructors, Super Keyword, Polymorphism, Static, Enum, Abstract Class, Interface, Mixin, Factory Constructor, and Generics in Dart. |
Advance Concepts |
---|
|
|
|
|
Widgets | Assets | Vs Control | Animations | Responsive | Project Examples |
---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
State Management | Project Examples |
---|---|
|
|
|
|
|
|
|
|
|
Local Storage | Project Examples |
---|---|
|
|
|
|
|
|
Device Features | Project Examples |
---|---|
|
Check internet connection |
|
Picker App (where you should add an image, sound, and video access permission) |
|
|
|
| Firebase | Project Examples |
|------------|
|
- Authentication
- OTP Verification
- CRUD
- Storage
- Firestone
- Push Notification
- Remote Config
API'S |
---|
|
|
|
|
|
|
Google Maps in Flutter |
---|
|
|
|
|
|
|
Architecture |
---|
|
|
|
Testing Flutter |
---|
|
|
|
|
|
Deployment |
---|
|
|
Design Principles |
---|
|
|
Analytics |
---|
|
|
|
|
CI/CD in Flutter |
---|
|
|
|
|
Database for Flutter |
---|
|
|
|
|
|
This is the end of the Flutter Roadmap, but there is still a lot more to learn about Flutter.To delve deeper into Flutter, we recommend exploring resources such as other websites, and other learning materials.
Flutter (Official channel) - https://www.youtube.com/c/flutterdev
Flutter Community - https://www.youtube.com/c/FlutterCommunityVideos
Code with Andrea - https://www.youtube.com/c/CodeWithAndrea
Flutter - https://medium.com/flutter
/r/Flutter - https://discord.gg/ckUeC6fsrg