Flutter Roadmap & Resource Guide — 2022

Muhammad Hamza
ITNEXT
Published in
7 min readNov 24, 2020

--

I’m always confused about having a good way to start an article. Most of the people start it with some story, some start in a humorous way and meanwhile me? Telling you how other people start so that I can have this part as starting of my article! 😎

Flutter Resource and Roadmap Guide 2021

This article is in reference to GitHub Repo which you can fork forever :)

Although you have read the title there’s no need to tell you what I will be talking about here, yet here’s the agenda so that you can skip to whatever portion you are looking for:

  • Confusion Regarding Dart
  • Which IDE is BEST?
  • Flutter Basics
  • Databases
  • Responsive UI
  • Networking
  • State Management
  • Store Knowledge
  • What’s Next?
  • Other Resources

🏃‍♂️ Let’s Get Started!

Now since its a resource guide plus a roadmap, so I will be adding all the links starting from Flutter official docs to the heaven where I have explored Flutter! You Ready..? Let’s do it then!

🎯 Confusion Regarding Dart

Do I need to learn Dart before starting flutter? How much Dart language is required to get started with Flutter? Is Dart pre-requisite to Flutter?

If you have any of the above question in your mind, you need to consider 2 scenarios and analysis yourself that where you are standing right now.

First case, Are you complete beginner with Languages or Programming? If yes, my dude! you need to learn some basic programming fundamentals to get started with Flutter. Which ones?

  • Object Oriented Programming (OOP)
  • Stack (Data Structures) Not compulsory but it will help you a lot.

Second case, which is you are NOT a beginner and you have done some coding with any other language like Java/C++/C# then you don’t need to learn Dart specifically you will learn it on your way!

Dart, Yes or No?

Well, basically the second case is actually the third one in the image :p

💻 Which IDE is BEST?

The next confusion is VS Code or Android Studio, Android studio or VS Code? Let’s sort it out, shall we?

Why Am I asking you, I need to write anyways. Opsss!

Below is the diagram which explains all, what’s important is below that diagram. So hop over!

Which IDE to choose?

But, as we can use Flutter without android studio so why its recommended to use?

Na Bruh! I didn’t recommended to use Android Studio, I would recommend you to install Android Studio even if you are not planning to use it.

Why? Don’t ask why just do it!

Na! Just kidding, here’s why? Android studio will get you stuff like Android Gradle, Android Emulator, Android SDK manager and much more which you will need to install manually and set everything up before actually diving into flutter code. And believe me! Its the pain in the ass!

Hence, download android studio, install it but don’t use it. Use VS code alongside as its much lighter and you can customize it in many ways :)

👨‍🏫 Flutter Basics

Ah! Now is the time for real work. If you are a complete beginner to flutter and you are looking for some course or YouTube playlist to get started? Here’s something to get you started:

Disclaimer: Since, Flutter latest release, these courses and tutorials are for Flutter version < 2.00. So, before going into them make sure to check out few other stuff like flutter_lint and Null safety which I’ve mention below.

Update: Since flutter 3.x.x almost all the courses and playlist are not outdated. So, the best place to start will be Cookbook | Flutter where official flutter team has place very organized tutorials and samples to practise.

But since, update for Flutter 2.0 and later now Null safety is enabled by default in Flutter and you have to learn it one way or the other. So, before going through any tutorial or courses as most of them are with previous version make sure to learn Null safety side by side.

Here are some resources to get you started:

When you are done you will have the basic knowledge of how flutter works and you can develop apps right away!

Flutter Basics

💾 Databases

Well although Flutter is a UI kit not a backend kit but you are an app developer and you need to have knowledge about database, right?

Yes!!

The first thing you need to go for is Firebase you can get started as:

Wait! Your client can ask you to store the data locally. Don’t worry you can use SQFlite with Flutter. It’s quite similar to sqlite

Databases for Flutter

🎨 Responsive UI

Hiiii…!! 😜 Sorry, I was just in mood to say so. Anyways back to topic. So, till here you are almost a complete flutter developer who can develop apps with databases which can be published. But here’s the thing, for Flutter its your responsibility to make your apps responsive for various screen sizes. Its like making a responsive website for various screens sizes.

You can use the following to get started :)

That’s all for responsiveness you need practice and testing to get good with this one :)

🌐 Networking

Phewww!! 😅 I know at this point you can develop a full fledge app with Beautiful responsive UI alongside database but the thing is learning never ends and you need to learn stuff like RESTful APIs and jSON Data Parsing. Because instead of creating your own database sometimes its good to get data live from the internet.

Hmmmm…?

Yup! So get your hands on with restful APIs and jSON data:

Networking

RESTful APIs

jSON Data Parsing

📱 Apps to Practice:

🛠 State Management

The next big thing!

It's important to learn state management in Flutter. Now, as a beginner, it's not compulsory but soon in future hopefully when you will be a completely top notch flutter developer and you get some order on Fiverr to develop a large scale app, as large as Instagram or Facebook…. Okay, stop imaging now! 😂

For large scale apps its important to do state management. As a beginner, you can use simple setState() to do get the job done! Hence, you can start as follows:

Which state management you use Hamza? Well, I’m working with BloC

📱 Store Knowledge

You are developing apps now! Look at you! 😃 And the most exciting thing is you are developing apps for both Android and iOS. For that, you need to have knowledge about Google Play Store and App Store. Especially read their guidelines so that your app won’t get rejection while uploading or issues like getting your account block, which will stop you from earning via any of those stores.

Yeah! You didn’t know this? No problem, now you know.

🤔 What’s Next?

You are developing apps and you are a flutter developer. So, what’s next now? Well my friend! Learning never ends, keep learning, keep exploring, keep sharing your apps and project with other people and get reviews and help. And always remember:

“Achievements Don’t Speak themselves”

Hence,

  • 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. Here’s mine, you can use it and customize it for yourself 😊
  • Same goes for having a Nice looking LinkedIn profile and make a connection. This will keep you going and you will get numerous opportunities on the way!
  • Another good way to present yourself will be having a Live resume. Ask your friend to get you simple one :)

Weeyy Haaa!! 🤠 We are done and you are a complete Flutter developer! Congratulations!! 🥳

That’s all from my side, I hope anything from above trash would help you. Good luck for your future endeavor. And Yeah one thing I forgot:

Please Give Some Claps!! 👏 Please..!! AaaaHAHAHHAHA! 😭

HAHAH! Just kidding :)

Thanks Y’all & #happyfluttering 💙

--

--

Student forever | Leading @Flutter Islamabad | Find me @mhmzdev