DEV Community

Idris Idris
Idris Idris

Posted on • Updated on


Have you heard Flutter and have no clue what it does? Have you ever wondered what the hype that surrounds Flutter is about? Or perhaps, you have just picked up Flutter and needed a guide on becoming a Pro at Flutter.

This article is a simple introduction to Flutter. It breaks down the various features of Flutter and explains how to get started with it.

Basic Introduction to Flutter and Dart

According to the official Flutter documentation, Flutter SDK is Google's UI toolkit for crafting beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.

In simple terms, this means that you can easily build apps that run on both Android and iOS operating systems with just one codebase. Usually, the normal practice is to write two different codebases for Android and iOS operating systems. However, using a framework like Flutter, you can create cross-platform apps with a single codebase.

Flutter was created by Google and was released officially in May 2017. Flutter uses a programming language called Dart for its development.

Dart is simply a typed object programming language. Google created Dart back in 2011. The later version was released in November 2013. Its syntax is similar to JavaScript’s and it is quite easy to learn.

Asides from Flutter, there are other frameworks for building cross-platform apps, (i.e apps that run across multiple operating systems) such as React Native, Xamarin, Phonegap, Ionic, etc.

Why you should Pick Flutter as your main Mobile Development Framework

Several people have different opinions on how ‘efficient’ Flutter is. There are contrasting opinions on whether or not Flutter is the best framework for mobile development.

While I do not necessarily argue that Flutter is the ‘it’ framework, here are the top reasons why Flutter is my go-to framework and why I feel you should learn Flutter.

1. Ability to See Realtime Activities

You can easily check real-time activities on your app(s) with Flutter due to its Hot Reload feature. React Native has this ability as well, but what Flutter provides is arguably better and more consistent.

2. Easy to Learn And Use

If you have built apps using languages such as Java, React Native, C#, Swift, etc, you would notice how relatively easier building with Flutter is. Without much hassle, while using the inbuilt Flutter widgets, you can easily create your mobile apps.

3. Good and Easy-to-understand Documentation

Flutter has one of the best documentations when compared to other frameworks. It also has a step-by-step guide to using the widgets and creating your first app with Flutter.

Other reasons why you should choose Flutter as your main app development framework are:

  • Rapidly growing community.
  • Ideal for start-ups to create their MVPs etc.


Let's get started

At this juncture, I believe you have been convinced to learn and start building with Flutter. So, how do you get started?
There are several ways to learn a new concept. I have highlighted three common ways I have seen people get started with a new programming language or framework.
NB: The pathways highlighted were influenced by personal preferences and experiences.

A. Use of Documentation:
Flutter’s documentation is one of the easiest to understand and work with. To get started, go to the flutter official site and visit the getting started page to begin your journey.

B. E-books:
There are numerous published beginner-friendly books to help you get started with developing apps with Flutter and Dart. Some recommendations are:

  • Practical Flutter_ Improve your Mobile Development with Google’s Latest Open-Source SDK by Frank Zametti
  • Flutter Projects by Simone Alessandria
  • Flutter Libraries We Love by CodeMagic
  • Flutter in Action by Eric Windmill

C. Tutorial Videos:
There are quite a lot of cool, easy-to-follow-and-understand Flutter and Dart tutorial video courses on Udemy, Udacity, Coursera and others. I personally recommend the Complete 2020 Flutter Development Bootcamp with Dart by Dr. Angela Yu, which is available on Udemy.
There are also tons of YouTube Channels that teach building apps with Flutter. Some recommendations are:

  • The Net Ninja
  • Reso Coder
  • Easy Approach
  • Marcus Ng
  • The Flutter Way
  • FilledStacks

Bonus: There are few subjective roadmaps on Github that people have curated to help beginners in their journey through Flutter. Here are some of them:

GitHub logo Tarikul711 / flutter-development-roadmap

Flutter App Developer Roadmap - A complete roadmap to learn Flutter App Development. I tried to learn flutter using this roadmap. If you want to add something please contribute to the project. Happy Learning

GitHub logo olexale / flutter_roadmap

Highly Subjective Roadmap to Flutter Development

GitHub logo DroidsOnRoids / flutter-roadmap

Roadmap for Flutter developers in 2020

What Next After Learning The Basics?

Build Projects

Learning gives you the knowledge, but practice gives you confidence. Practice what you have learned.
Building projects after learning new concepts is very necessary. Its importance can never be overemphasized.
Project ideas can come from different places - the environment, existing products, personal interests, etc.
Here are some major sources you can get project ideas from:

  1. A github repository for 80+ app ideas by Florin Pop - This repo is excellent for getting project ideas as it classifies the projects based on level.
  2. Design platforms and communities such as Dribbble, Uplabs - These websites house openly-available designs from designers around the world. You can choose to recreate these designs for personal improvements.
  3. Contribute to open source projects.

Show your works

Let people that you do what you do. Make use of the various social media platforms to showcase how amazing you are at what you do. Share projects you have worked on.

Be your own hypeman - GeekTutor


In this article, we have explained what Flutter and Dart are, why you should learn and use Flutter, how to get started, and also the importance of building projects.
If this helped in one way or the other, kindly like and share.

Happy Fluttering.

Top comments (3)

chimon1984 profile image
Ryan Edge
tijan_io profile image
Tijani Ayomide

Thank you... I was planning to go into mobile Development once I know my way around Django pretty well

geobrodas profile image

I was thinking of learning flutter after web development Nice article!