How to Become Flutter Expert?

Bishworaj Poudel
4 min readDec 17, 2021

Hello World, I am Bishworaj Poudel, While writing this article, I developed more than 10 applications using flutter and also working as project manager for various projects. I am using flutter from its beta version. In this article I will share path to become flutter expert.

Flutter Developer Roadmap

Flutter is software development toolkit from Google for building android, iOS, web app, desktop app from single codebase. Lots of developers are already in flutter and opportunity is also very high.

Learn Basics of Dart Programming

Before starting flutter, you must learn basis of dart programming. If you already know C programming / Java programming / C# programming, then you can easily understand dart, because most of them are similar. If you don’t know programming then you can also directly learn dart. Make sure you will understand at least these topic of dart.

  • Basic Hello World Program.
  • Variables and Constants.
  • Conditions and Loops.
  • Lists and methods.
  • Methods and types.
  • Object Oriented Programming.
  • Class and Object.
  • Constructors.
  • List of Objects.
  • Async and Await [Advance topic but will help later].

These are the basics term, you must know because it will make your life a lot easier later. So give some time to understand this topic. You can watch dart videos in YouTube or purchase courses on Udemy or practice at your own to learn dart programming. Official documentation is available at https://dart.dev/tutorials . This will be the best source for you always because this is official docs.

Learn Basics of Flutter, Widgets

The second step is to setup flutter on your computer and start learning basics of flutter. It includes how to use widgets like MaterialApp, AppBar, Scaffold etc. Create a simple screen, add photo, text, radiobuttons, text field, slider, container, buttons etc. Also look at Row, Column, Stack, Listview, SingleChildScrollView etc. The more widgets you know the more benefit for you.

Good design is need, customers need app with good design. Now you need to design app so beautifully. So focus on designing beautifully. This will add value to your work. Also share your work on various groups, publish it on github and also get feedback from users.

Also get inspired from website like https://dribbble.com/ and know various designs. Implement such design to your projects too. Also try to make clone UI of apps that are available on your phone.

Learn Functionalities & Navigation

The next step is to learn functionalities on flutter, create two textbox and button. While clicking on button show the result on dialog box. Similarly create various pages like login page, dashboard page, about page etc and navigate to different pages.

Learn and explore packages

In flutter you can use packages for almost anything, you can learn how to use packages, animations and custom painters for it. Also you can look at source code of the packages. Also use image picker, path provider, package info, device manage. You can view all packages in https://pub.dev. Try to use different packages to fulfil your needs.

Learn to Use API on your app

Get data dynamically from server and get the data. For learning purpose you can use https://jsonplaceholder.typicode.com/todos/ website to get json. You can send various http requests. You can also build quiz app with opentdb free api.

Learn Shared Preferences & SQFLite

For simple and easy local storage you need to learn about shared preferences, which stores data locally in app. If your application is big then you must think about SQFLite, which is local database where you can use SQL commands. Now you can create apps which runs offline perfectly.

Learn State Management

Main job of UI is to represent the state, In most of the production level most of the applications are built with state management. Data passing becomes easy and code will be more readable. In coming article I will cover state management in details. Some popular state management solutions are:

  • provider
  • bloc
  • getx

Learn Firebase

With the help of firebase, you can add sign in with google options, send notifications, store data in server and do various AI / Machine learning related tasks. It will add extra benefit to your profile.

Learn Animation and Custom Painter

To build beautiful apps, animation is very very important. Learn to use animation in flutter. Company need some kind of animation in apps. Using custom painter you can draw your own design in flutter.

Conclusion

If you know all these things, you are ready to go as production level developer. Also don’t forget to share your work on LinkedIn, educational Facebook groups, create your GitHub profile and show your work. This is definitely not end. There are always more things, Below are technology with provide extra benefit for you.

  • Git and GitHub
  • CI / CD
  • Test Driven Development
  • MVVM Architecture

If you like to learn about dart, flutter do follow me on medium. Thank you everyone have a good day.

Find me on:
GitHub: https://github.com/bishworajpoudelofficial
Website: https://brp.com.np
Facebook: https://www.facebook.com/bishworajpoudelofficial

--

--