The Ultimate Guide to Becoming a Flutter Expert — Part 3: Beginner Flutter Developer Guide to Expert

Eternity (Isaac Adariku)
13 min readFeb 28, 2023

by Isaac Adariku (LinkedIn, Twitter, Website)

This article is part of the Ultimate Guide to Becoming a Flutter Expert series that will help you learn and grow into an Expert Flutter Developer. In this article, I will share with you who is a beginner Flutter developer, what you should know as a beginner Flutter developer and what you should do to become a beginner Flutter developer if you are not yet one. I will share with you the steps and some bonus tips I use to mentor Hundreds of Flutter and Dart Expert developers.

In case you want to check out any other article in the series, just click on the link provided below:

Who is a beginner Flutter developer?

Do you know what is a Widget? 😁

Thinking what is Widget 😁

If your definition is not “Everything in Flutter is a Widget”, you are a beginner Flutter developer 😂

No joke anymore 😂😄

A beginner Flutter developer is someone who has never touched Flutter or Dart before, including someone who is just starting to learn how to code, someone who is interested in learning Flutter, or someone who has used Flutter before but has not built any applications using it.

If you feel so, don’t worry the whole Flutter community got you covered. This journey will take you from “What is a Widget?” to “I just built my first app! 🚀” I will share with you what you should know, and what you should do to become a Flutter developer.

What should I know or do to become a beginner Flutter developer?

Know that Everything in Flutter is a widget!!! 😁

Everything is a widget Image — from Ashish Rawat

This is the first thing you should know and it is very important not to skip it! 😁😜

Also because Flutter uses Dart Language and it is very easy to learn and understand, you should be familiar with Dart programming language. After that, we can now learn what is really a widget, lay out those widgets, and how to use them to build a simple functional application.

As soon as you are done with that and you are comfortable you are ready to move to the next level. But before you move. Wait, my Friend! You need to know how you become a beginner Flutter developer 👇🏽.

How to become a beginner Flutter developer?

Now that you know “Everything is a Widget”, I will not tell you how to become a beginner Flutter developer anymore rather I will share with you the steps you need to take to become a beginner Flutter developer. The steps are easy and you can start right away.

Without further ado, let’s get started!

1. Learn the Dart programming language

The first step is to learn the Dart programming language. Dart is a programming language that is used to build Flutter applications. Dart is a very easy programming language to learn and understand. It is also a very powerful programming language. You don’t have to worry about any point instead you should be excited for the journey ahead.

  • First, try playing with DartPad, it is the online editor for Flutter and Dart like a playground where you can try out Dart code and see the results immediately without installing anything on your computer.
  • Learn Dart Programming Language, luckily at the time of writing this article, there is the latest, very good and Free Course on Dart Programming Language from Vandad Nahavandipoor. Please subscribe to his youtube channel as you learn from him.
  • When you are done with the course, you can try completing the Dart cheatsheet codelab you will notice that you are now more comfortable with the Dart programming language just like your native language 🤩.

2. Know a little about Git and GitHub

As you journey into Flutter, you will need to know a little bit about Git and GitHub.

Git is a system that controls the changes you make to your code. It keeps track of how you change your code and allows you to go back to a previous version of your code if you need to.

GitHub is a platform that helps you host your code, share your code with other developers and work with other developers on different code bases. It is a very powerful tool that you will need to use as you build your applications.

You can start by learning a little bit about Git and GitHub by following this guide and watching this short video about version control. As you keep learning and building your applications, you will get to know more about Git and GitHub naturally.

3. Install Flutter Framework or Use Flutter Online

The next step is to install the Flutter framework. Having Flutter on your computer is very powerful, in no time you are building applications for Android, iOS, Windows, Linux, Mac, and the web.

Flutter has easy installation guides for all computer operating systems, Windows, Mac, and Linux. Just follow this installation guide to help get you to install it on your computer.

While doing that, You can try playing with this Flutter example online using DartPad.

However, if you don’t want to install Flutter on your computer, you can use Flutter online with the help of Zapp, which is a free online IDE for Flutter. You can get started with Zapp now and use any of their free templates.

4. Visit the samples gallery for Flutter and Dart

The samples gallery is a very good place to always be and start with. You can find a lot of Flutter sample apps that you can use to learn and build your first application. For example, you can find a sample app that is like your gallery app on your phone. You can use this sample app to learn how to build a gallery app. You can find the samples gallery and many more here.

Also, for Dart programming Language, you can get a feel for Dart code samples here.

5. Learn basic Flutter concepts

You are moving so fast 🧑🏽‍💻! You have the Flutter Framework and you have visited the Flutter samples apps and dart samples. Now it is time to learn some basic Flutter concepts.

Let’s do this 😎

6. Build your first Flutter app

Building your first Flutter app is really exciting. because the Flutter Team made it so easy. See this beautiful Flutter App 😍 below that generates cool words 👇🏽

A sample flutter app that generates cool words

You can build this Flutter app with no little or no one’s help. All you need is to follow this codelab from Filip Hráček. This codelab will take you from “Everything in Flutter is a widget” to “I just built my first app! 🤩.

7. Make your apps look cool

You did it! 🎉 I believe you have not only built your first app, but you went ahead to make it functional and responsive and now is the time to be exposed to Material Components that make your app looks cool. Material Components are a set of high-quality, pre-built widgets that help you build beautiful apps. Check out the Flutter Material Components here.

If you like the last codelab 😄, check out another codelab that will help you learn how to use Material Components for Flutter.

If those are not enough, you can also learn from using HeyFlutter Videos and other awesome flutter examples like Awesome Flutter.

8. Learn how to use Flutter packages

Packages are the way to share code between Flutter apps. If someone has written and packaged some reusable code, you can use it in your app. The Flutter ecosystem is very rich and you can find a lot of packages on pub.dev. Then you can learn how to use those packages.

You may have some issues finding the best category of package you will want to use, but no worries 😁 because Ashita Prasad created Flutter Gems a website that neatly categories Dart and Flutter packages to easily find what you want.

9. Learn to add assets to your app

Do you see those cool fonts, images, and icons in your favourite apps? You can add them to your Flutter app too 🤩.

Previously when adding fonts to your Flutter app, you had to download the font (e.g. Google Font) and add it to your project. But the Material Team & Flutter Team were so kind they created the Google Fonts package to easily add fonts to your app and introduced Font asset hot reload respectively. You can now easily add any font available on Google Fonts to your Flutter app using the google font package and get to see it with a Hot reload.

So if you are ready to add some images and audio just follow this link here.

10. Find out how networking works for your Flutter App!

Many apps connect to the internet to get data and display it to the user. All these make use of concepts like HTTP, JSON and serialization. You can learn how to do this easily using this set of articles on networking made just for you.

11. Learn how to navigate between screens

Every app has multiple screens for displaying different types of information. For example, an app that shows food products has a screen that shows the food products and a screen that shows details of a selected product. Check out how to easily navigate between screens.

Example app navigation from Iaroslav Zhmak

12. Learn how to store data locally

Many apps must store data locally on the device without a network. For example, a TODO app needs to keep the list of TODOs that the user has created. You can learn to store data locally using one of the easy-to-use storage options like Shared Preferences, SQLite, and Hive. You can follow this cookbook guide for persistence to learn how to use different storage options.

13. Learn how to use Firebase

Firebase will be your best friend when building with Flutter and if you are wondering what it is? Firebase is a Backend as a Service (BaaS) that provides a lot of services that you can use in your Flutter app to make it more functional. Firebase 💛 & Flutter 💙 are a very good combination for building apps and are very easy to use.

You can also learn just the basic of how to use Firebase with Flutter from the codelab, which will take you from “I have no idea what Firebase is” to “I just built another app with Firebase” 🙌🏽.

14. Learn to Manage your Flutter App’s State

State? 🤔 This is not like your Country’s State 😄 It is known as State because there is a particular state of your app. For example, A counter app has a state of 0 and when you tap the button, the state changes to 1. So managing the state of your app brings you to the concept of State Management.

State Management is a fundamental concept in Flutter. In fact, the most common question from Flutter developers is “How do I manage state in Flutter?” or “Which State management should I use?”.

I will show you a way, so you will not have to ask those questions, you can start by watching this video from Filip Hracek and Matt Sullivan on what state management means.

Flutter State Management

The video will give you a good idea of what state management is and how to manage the state in Flutter. Then you can play with any of the state management options like Provider, Stacked, Flutter BLoC, MobX, etc. You can learn more about these state management options.

Hint: I use Stacked from FilledStacks in my apps and I love it.

15. Learn how to test your app properly

Now you have learned how to build your app, make it look cool, add assets and manage its state. Testing is the last step in the development process 🤩. I have the feeling you like code labs 😜 So using this codelab, you can learn how to test your Flutter app.

If I guessed wrong 😄, you can also learn how to test your app from this Flutter cookbook.

That is it for the beginner’s journey 😎 and you are ready to proceed to the next level 🚀.

But wait, there are some Bonus Tips 😜

Bonus Tips 🚀

👉🏼 Ensure you join a community

The journey to becoming a Flutter developer is easy and not easy. To make it very easy you will need a lot of help and support from others, just in case you couldn't reach me 😜. The Flutter community have passionate developers that are building beautiful apps and are ready to help. There are a lot of communities that you can join to learn more about Flutter. Find a list of Flutter communities.

👉🏼 Join an Internship or Find a Mentor

Internships are a great way to learn real-world skills while growing your network. There are a lot of internships in the Flutter community that you can join to learn more about Flutter. Just in case you are unable to find an internship, you can find a mentor that will help you learn more about Flutter. Check out the Mentor Cruise or Code Mentor.

Luckily 😎, I am also a Flutter & Dart mentor at the HNG Internship (A Top Internship program that has trained over 125,000+ interns and over $15m+ in monthly income being earned by trainees) you can join to learn any type of Flutter development with a real project and real-life working scenarios. Ensure to follow the page so as to get updates on the internship program.

👉🏼 Take a Flutter course

There are a lot of Flutter courses that you can take to learn more about Flutter and Dart. But I will recommend that you take a course from Flutter Experts like Vandad Nahavandipoor, Nick Manning, Andrea’s Bizzotto, and for book lovers the Flutter Apprentice from Raywenderlich.

Vandad Nahavandipoor is a very good teacher and he has a free Flutter course that you can use to learn more about Flutter. You can find the course here.

Andrea’s Bizzotto is also a very good teacher and his courses are consistently rated 5 stars ⭐️. He has taught over 30,000 students and he has one of his latest flutter courses that is worth getting.

Nick Manning is an engineering manager and an inspirational amazing teacher. All his courses are from the very basics by building real-world used apps step by step and It’s 100% free 🙌🏽.

For book lovers, thou the Flutter Apprentice giveaway is over, the book is highly recommended and it is written by expert Flutter Developers around the world. You can start reading with the beginner subscription or watch some of the replays before purchasing.

👉🏼 Get a Flutter certification

With all the knowledge you have gained, you can now get a Flutter certification. You can get a Flutter certification from one of Flutter's favourite teachers Angela Yu course. Though this course is paid, it is worth it because it is in collaboration with Google Flutter Team and has so many projects to use for your portfolio.

👉🏼 Take the Flutter codelab challenges to learn more about Flutter. You can find a list of Flutter codelab here.

👉🏼 Take any UI from Dribble and build it in Flutter.

👉🏼 Create any app UI that you have used before and build it in Flutter like WhatsApp, Instagram, Twitter, etc.

👉🏼 Use the Flutter roadmap or Flutter Developer roadmap to track your progress.

Dash jumping into conclusion

Conclusion

As you can see, there are a lot of resources that you can use to learn Flutter. You can always learn about Flutter from the official documentation. If you have any questions, you can ask them on the Flutter Community Discord server.

Most importantly, the only way you can learn Flutter is by building apps. You can build apps for yourself, your friends, your family, or even for your clients. You can also build apps for the Flutter Community.

And never forget EVERYTHING IS A WIDGET! 😎

Please subscribe to the Flutter and Dart blogs, find a meetup close to you and subscribe to the Official YouTube channel and always watch Widget of the Week to get more updates on Flutter and Dart.

💙 Happy Fluttering! 🎉 🎉 🎉

I hope you enjoyed this article!

In the rest of this article, I will share the next steps to take after you have learned Flutter and Dart. It is a continuation to take you to become a Flutter Expert 🤩. Click on the link below to read the rest of the article.

Help contribute to this article by:

📢 Spreading it with your friends, family, and colleagues.

👏🏾 Tapping the clap button below to show your appreciation and motivation.

📝 Sharing your thoughts and inquiries by leaving a comment below.

➕ Follow me on Medium to receive notifications when I release new articles.

😍 Connecting with me on Twitter and LinkedIn and I would be delighted to provide assistance.

Every day is another opportunity to gain Mastery! 💙 — Isaac Adariku (Eternity)

--

--

Eternity (Isaac Adariku)

GDE Flutter & Dart | Software Craftsman | Organizer FlutterKaduna