πΊ Flutter Roadmap & Resource Guide
In Reference to detailed Article Here
I will be sharing a simple roadmap and resources that I use personally for improving my flutter skills. You can obviously figure out your way of learning but here's mine. I will keep on adding link from Flutter Offical Docs so that you might get an idea how helpful Flutter official documentation is. π
πββοΈ Let's Begin!
Its more like a mix of Roadmap and Resource. So, that if you are a complete beginner you will have something to jump to :)
π― Confusion Regarding Dart
A lot of people think ask whether we need to learn Dart before starting flutter or not? My opinion is:
- If you are new programmer, you must the knowledge of OOP and Stack in Data structure will be a plus!
- Otherwise, there is no need to learn Dart specifically its quite similar to Java/C++/C# so you will keep getting it on the way :)
π» Which IDE is BEST!?
I have seen a lot of beginners confused between which IDE to choose for Flutter development. Well, here is my suggestion for you.
- If you have a High End machine (at least SSD & 8GB RAM) then you can go for Android Studio and feel free to use Emulator Alongside.
- If you have a Low End machine (at least 4GB RAM) then you can go for VS Code and you Cannot User Emulator because it will slows down your system if you opened even a single tab of Chrome for searching some errors.
π΄ Suggestion:
I would strongly recommend you to download Android Studio even if you are not planning to use it. WHY? Well because it will get you a lot of stuff like Android Gradle, Android SDKs, Android Emulators etc built-in. Otherwise, you will need to download them manually and set each one of them. And Believe me, its pain in the ass!
π¨βπ« Flutter Basics
Starting a complete beginner if you are looking for some Udemy courses or YT playlist I would recommend you the following:
After this, you must have the knowledge as shown below:
πΎ Database
Now, you are done with the basics of flutter and its time to up your flutter game. Let's start with some Database. For flutter, I would recommend you to start with Firebase. You can use the following resources depending on which helps you to learn stuff faster:
- Firebase with Flutter - Flutter Doc
- Firebase Official Doc for Flutter
- Net Ninja YT Playlist - Flutter & Firebase
But What if your client asks you store data locally? No problemo! You can learn SQFlite quite similar to sqlite.
π¨ Responsive UI
Till here you are a complete flutter developer who is very good with Flutter alongside at least very common database i.e Firebase. For Flutter apps it's your responsibility to make your apps responsive for various types of screen sizes. Hence, make sure to learn Responsive UI in Flutter and you can use the following to get you started:
π Networking
If you are at this stage altough you can develop apps with beautiful responsive UI alongside database. But, you need to keep learning more and more stuff so that you can manage data otherway around. For that, make sure to learn RESTful API and jSON Data. In case you are a good with socket programming you can learn that but that's optional here :)
- Networking in Flutter
- RESTful API
- jSON Data Parsing
π± Apps you can try:
π State Management
The next big thing you need to learn for Flutter is managing the state. There are a lot of State managment techniques that you can use. Following are few:
- State Management - Flutter Doc
- Providers
- BloC
- Redux
- MobX and others.
π± Store Knowledge
Since you are a cross-platform app developer now, you must know about the guidelines of uploading an app to App Store and Google Play store. So, make sure to get knowledge about uploading an app accordingly.
π€ What's Next?
Learning never ends! Keep learning with resources, keep exploring, keep sharing your apps and projects with others to get reviews and help. And always remember:
"Achivements Don't Speak themselves!"
- Get yourself a Nice looking GitHub profile and showcase your project with proper documentation. This shows other people who are looking for developers that you are serious about your work and career. Get a nice GitHub Readme for you. Here's mine, you can use it and customize it for yourself π
- Same goes for having a Nice looking LinkedIn profile and make connection. This will keep you going and you will get numerous opportunity on the way!
- Another good way to present yourself will be having a live resume. Ask your friend to get you simple one.
π Other Resources
Below are the resources which you can use to expand you Flutter knowledge and research:
- Flutter Official Doc
- ItsAllWidgets
- Medium
- GitHub
- Facebook Groups
- LinkedIn Pages
- YouTube
Make sure to π the Repo!
Author
Muhammad Hamza π§
π You can also follow my GitHub Profile to stay updated about my latest projects:
Copyright (c) 2020 MUHAMMAD HAMZA
π LICENSE
- This project is licensed under the MIT License - see the LICENSE file for details