Flutter Plan for Beginners

Pradyot Prakash
4 min readJan 19, 2021

Flutter has gained a lot of light in the past 2–3 years and has become one of the most favorite Cross-Platform frameworks. Since we have other frameworks also then why we need Flutter.

Advantages of Flutter

To learn the advantages of Flutter can go to this link. But still, it doesn’t make any more difference from other frameworks. Or does it? Check this link to know the difference.

Disadvantages of Flutter

It’s not like Flutter is all good. It has some disadvantages. Can check this link to know the Pros and Cons of Flutter.

Where to start?

Before learning Flutter, we need to know Dart. Advantages of Dart and Why this was chosen as the language for Flutter? Or What advantages does Dart provide to Flutter?

Can learn Dart from the official https://dart.dev/guides site.

After learning Dart, now comes Flutter. After learning Dart, there are still few things that need to be learned for Flutter. Check this link https://link.medium.com/v0dhslJAadb to know what beginner Flutter Developers make mistakes at the starting while learning Flutter.

Before going into the “State Management” concept, know the building blocks of Flutter.

Few things can take into account,

  • Project structure of flutter.
  • Why does flutter provide android and iOS folders?
  • Use of pubspec.yaml file.
  • What is the main and runApp function? Why do we have that?
  • What are widgets?
  • Most common widgets used in Flutter?
  • Learn the use of Container widget in Flutter.

After learning these points now you will have the basic idea related to flutter. Now start with UI. Take any screen from Dribble or any UI content site. And start making in Flutter. Take into account you are only learning how to make UI in Flutter now. You will get to know about commonly used widgets like Rows, Columns, Scroll View Widgets, Container, etc.

Till now you will have the Widget-related knowledge in Flutter. And this will help you a lot as you go in-depth in Flutter.

Now, it’s time to “Divide and Rule” concept in Flutter. Take the UI which you made and make widgets of your own. If a group of widgets is used more than once then make it as a single widget class and use it. Make methods that return a single widget with small changes like a text widget. This will help in making your UI code more readable and easy to debug.

Code re-usability has saved a lot of time. This way if different pages use the same widget then just copy and paste the newly created widget class and use it.

Don’t forget to comment.

Since we can create a lot of classes and methods in Flutter for the UI, giving names to them becomes a headache. So give smaller names but add a document comment (///) to tell the Developers what’s the use of the class or the method. Check this https://dart.dev/guides/language/effective-dart/documentation link for effective Dart documentation.

Now you have the UI knowledge. It’s time to learn “State Management”. It’s the most helpful concept in Flutter when it comes to UI and core logic combined. Want to update the user name, will get the username from somewhere and update the text widget, you will need knowledge of State Management.

The basic one can use is the setState method, but who likes the easiest approach. There are tons of State Management methods in Flutter. Can check this link https://blog.codemagic.io/flutter-tutorial-pros-and-cons-of-state-management-approaches/ to learn their Pros and Cons.

Choose any one State Management from here or anyone.

You need to learn the concept related to the chosen State Management. Take for example GetX. Learn the concept related to GetX for State Management. How it updates the widgets. Read the doc, that’s it.

Now, use the State Management logic and implement it into your UI project. Write -> Delete -> Edit your code. Every time to start a new project your code for the State Management will become more cleaner and readable. And you will get to know more concepts related to State Management and the Flutter itself.

There are other concepts also in Flutter which helps a lot when your application requires new features. Like rest API calls, asynchronous work, saving data locally, camera, maps, and many more.

For API calls can use the http package for starters. There are other API call packages available one of them is Retrofit. But the use of the package totally depends on the project you are working on and the developer choice.

Where to end?

No answer available. So keep learning. Flutter is still new and a lot has to come. And no human can learn everything. And that’s also the fun part of Flutter. The more you learn the more you love it.

Flutter : Love at first build.

--

--