How to Learn Flutter in 2021
Tags: flutter, dart
Published: 2021-02-01 14:12:18

Flutter is about to have a really big year this year! With the event on March 3rd, 2021 coming up, as well as the community growing bigger and bigger, the upside of Flutter is looking enormous.

But this means that there will be a lot of new people starting out with Flutter as well. And starting out something new is tough no matter what it is. Hopefully this is a one stop shop for you on how you should learn, along with some resources that worked for me.

By the way if you would rather watch the video version of this article, here it is. 
If you prefer reading, keep going 😊

(Video for this)[https://www.youtube.com/watch?v=CKY-Nh6YZeY&feature=emb_title]



# Fundamentals
In my opinion, the biggest problem with flutter is how easy it is to create apps. It's so easy that people can create a working application without knowing much about what they are doing.
Before you start diving into Flutter I would really recommend you have at least a bit of Object Oriented Programming knowledge. And the more you have the better. There are a lot of resources to learn and understand these topics with Dart. But if you are coming from another language like C++ or JavaScript, Dart will be very easy to pick up. I think I spent only a couple days getting used to the syntax and was able to dive right into Flutter framework.

# Learning Resources
## Flutter Documentation
The documentation is always my first step to learning anything involving flutter. Flutter team has a clear focus on providing high quality documentation, and it is the first step I take whenever I run into issues.
 [Flutter Docs](https://flutter.dev/docs) 

## Codelabs
The very initial stages of learning Flutter I followed the google codelabs. You know you can trust these because these are curated by the flutter team, so they are definitely high quality.
[Codelabs](https://codelabs.developers.google.com/?cat=flutter)

## YouTube
Youtube is of course my favorite resource. This is where I do most of my learning. It has helped so much that I decided to do my part and help contribute, but here are just some channels that I use!
[My Channel](https://www.youtube.com/channel/UCNaJHBXsvbfkItVMNmzmTPQ)
[Robert Brunhage](https://www.youtube.com/user/MrShadowFate)
[Fun With Flutter](https://www.youtube.com/channel/UCU8Mj6LLoNBXqqeoOD64tFg)
[Resocoder](https://www.youtube.com/channel/UCSIvrn68cUk8CS8MbtBmBkA)
[MTechViral](https://www.youtube.com/channel/UCFTM1FGjZSkoSPDZgtbp7hA)
[Fireship](https://www.youtube.com/channel/UCsBjURrPoezykLs9EqgamOA)
[FilledStacks](https://www.youtube.com/channel/UC2d0BYlqQCdF9lJfydl_02Q)
[FlutterExplained](https://www.youtube.com/user/Lionranger)
[Official Flutter Channel](https://www.youtube.com/channel/UCwXdFgeE9KYzlDdR7TG9cMw)

## freeCodeCamp
Free code camp is one of the biggest resources for learning coding online. I am sure they will have more and more coding content. There are a couple video courses for Flutter, including mine :)

[freeCodeCamp Course](https://youtu.be/aiTTClKJbnw)

# Bootcamps
One of the top bootcamps for starting flutter is by Angela Yu. I haven't personally taken it, but I have heard amazing things about it! It is also 4.7 stars with 90,000 students so I am sure it is amazing. It also covers lots of OOP topics like Encapsulation, Inheritance, and Polymorphism.

[Angela Yu's Course](https://www.udemy.com/course/flutter-bootcamp-with-dart/)

# Awesome Flutter
This is an amazing GitHub repository that leads you to an enormous amount of resources for learning Flutter.

[Awesome Flutter](https://github.com/Solido/awesome-flutter)

# Get involved in the Community
This is an indirect way of learning Flutter, but I think being part of the community helps you grow as a developer as well, as helps you make friends who might potentially help you when you run into problems. The developer community is pretty big on Twitter. Here I created a list of some of my favorite Flutter developers on Twitter.
https://twitter.com/i/lists/1273736213665636359

Also feel free to join me and other flutter developers on discord

# Learn by Building
Now for the key point, these are all just resources for learning. In my opinion the best way to learn is by actually building software. Once you have fundamentals down, just go ahead and build apps, and when you run into issues take a look or go through these resources and see if you can figure them out. You can learn a lot more by doing than just by watching or reading.

Some apps that you can practice learning are
* Todo App
* Chat App
* E-Commerce App
* Social Network App

If you are able to build these apps and have them function well, you are going to be well on your way to becoming a quality developer. Then focus on making your code more efficient, and improving in different aspects, and you will be a pro in no time.
Happy Coding Everybody! Let's make 2021 an amazing year for Flutter
If you want more content from me you can find me @tadaspetra on all platforms, but mainly on Youtube 😊
[Tadas Petra](https://www.youtube.com/channel/UCNaJHBXsvbfkItVMNmzmTPQ)