BEGINNERS' GUIDE TO FLUTTER
Tags: flutter, beginners, ios, android
Published: 2020-12-30 08:49:29

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_](https://flutter.dev/), 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__](https://dart.dev/) 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_](https://flutter.dev/docs/development/tools/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.

####**GETTING STARTED WITH FLUTTER**
![Let's get started](https://media.giphy.com/media/3o6ZtnsjdU1EYJ5nRC/giphy.gif)

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](https://flutter.dev) and visit the [_getting started_](https://flutter.dev/docs/get-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](https://www.udemy.com/), [Udacity](https://www.udacity.com/), [Coursera](https://www.coursera.org/) and others. I personally recommend the [Complete 2020 Flutter Development Bootcamp with Dart] (https://www.udemy.com/course/flutter-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
-	MTECHVIRAL
-	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 Tarikul711/flutter-development-roadmap  no-readme %}
{% github olexale/flutter_roadmap  no-readme %}
{% github DroidsOnRoids/flutter-roadmap  no-readme %}

###__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](https://github.com/florinpop17/app-ideas) - This repo is excellent for getting project ideas as it classifies the projects based on level.
2.	Design platforms and communities such as [Dribbble](https://dribbble.com/), [Uplabs](https://www.uplabs.com/) - 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](https://twitter.com/Geektutor?s=20)

###__Conclusion__

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._