How to Learn Flutter in 2020
Tags: flutter, career, android, ios
Published: 2020-01-22 12:46:54

Flutter is a trending technology this year. This article will give you free and paid ways to learn how to develop IOS and Android applications with Flutter.

## Are you interested in mobile application development?

If your answer is yes, you are reading the right article! Maybe you don't know about Flutter yet, but don't worry – I wrote an article about [what flutter is and why you should learn it this year](https://herewecode.io/blog/what-is-flutter-and-why-you-should-learn-it-in-2020/).

> Flutter is a free and open-source mobile UI framework created by Google and released in May 2017. In a few words, this allows you to create a native mobile application with only one code. It means that you can use one programming language and one codebase to create two different apps (IOS and Android). – [What is Flutter and Why You Should Learn It in 2020](https://herewecode.io/blog/what-is-flutter-and-why-you-should-learn-it-in-2020/)

In this post, I share with you two types of content, free or paid. I tried to find excellent resources to support every type of learner (videos, courses, books, tutorials, and so on).

Before we start, I also wrote an article about [whether you should you learn to code with paid or free content - and why?](https://herewecode.io/blog/should-you-learn-programming-with-paid-or-free-content-and-why/) If you don't know what type of content is the best for you, I recommend that you read that article before reading this one.

So let's get started. I tried to explain each resource with a small paragraph. All information came from the description of the associated website. As you can imagine, I haven't tried all these methods. If you need more details, I invite you to visit the linked website.

## 🆓 Free content

### 📸 Videos/Courses

- [Dart Programming Tutorial - Full Course](https://www.youtube.com/watch?v=Ej_Pcr4uC2Q)

A freeCodeCamp full course on Dart.

> Learn the Dart programming language in this complete tutorial for beginners. Dart is a strictly typed programming language that is used in the Flutter framework to develop cross-platform mobile apps. – Dart Programming Tutorial - Full Course

- [Flutter Course - Full Tutorial for Beginners (Build iOS and Android Apps)](https://www.youtube.com/watch?v=pTJJsmejUOQ)

A freeCodeCamp full tutorial for beginners. This tutorial was one of my references when I started Flutter. It is an excellent introduction and helps you understand the first notions that will be useful for you.

> Learn Flutter, Google’s groundbreaking multi-platform mobile development framework, to create apps for Android and iOS.  In this course, Nick Manning from [Flutter Crash Course](https://fluttercrashcourse.com/) teaches you how to get up and running with Flutter quickly and effectively. Nick has been a Flutter engineer since 2017 and has boiled down this real-world know-how into a clear-cut, realistic, and step-by-step crash course. – Flutter Course - Full Tutorial for Beginners (Build iOS and Android Apps)

- [Flutter Crash Course](https://www.youtube.com/watch?v=1gDhl4leEzA&amp;feature=youtu.be)

A Traversy Media crash course on Flutter. 

> In this crash course we will look at Flutter for building native mobile apps. We will look at what Flutter is, how to get setup, built in widgets, stateless and stateful widgets, routing and more. – Traversy Media

- [Flutter Tutorial for Beginners](https://www.youtube.com/playlist?list=PL4cUxeGkcC9jLYyp2Aoh6hcWuxFDX6PBJ)

A Youtube playlist on Flutter for beginners created by The Net Ninja.

> You will discover how to use Flutter (and Dart) to create Android and IOS apps from scratch. You will learn all about widgets, packages, assets & asynchronous code to create a World Time app, as well as two other mini-apps to put your Flutter skills to good use! – Flutter Tutorial for Beginners

- [Flutter & Firebase App Build](https://www.youtube.com/playlist?list=PL4cUxeGkcC9j--TKIdkb3ISfRbJeJYQwC)

A Youtube playlist on Flutter and Firebase created by The Net Ninja. When I wanted to use Firebase in my first application, I first took this course. It was comprehensive and gave me a good understanding of how to integrate this tool with Flutter.

> You will learn how to create a Flutter application from scratch, using Firebase Firestore (a real-time database) and Firebase Authentication. This playlist is for developers who already know Flutter. – Flutter & Firebase App Build

- [Reso Coder](https://www.youtube.com/channel/UCSIvrn68cUk8CS8MbtBmBkA/featured)

A Youtube channel dedicated to Flutter. Reso Coder created a lot of tutorials to explain how the Framework is working. Several tools around Flutter are explained so that you can integrate them into your project. There are even lessons on code architectures around this Framework.

> Flutter is changing the app development scene. Don't be left behind! Learn how to develop for cross-platform mobile & web.  Learn from carefully crafted project driven lessons and immediately apply what you've learned in your own apps. – Reso Coder

- [FilledStacks](https://www.youtube.com/channel/UC2d0BYlqQCdF9lJfydl_02Q/featured)

A Youtube channel dedicated to Flutter. You will discover many tutorials on Flutter such as Firebase, UI, architecture and so on. There are mobile and web Flutter lessons as well.

> Learn to build high quality production ready mobile apps using Flutter.  – FilledStacks

- [Code With Andrea](https://www.youtube.com/c/CodeWithAndrea)

> Tutorials about learning Flutter. Regular videos covering all things Flutter, including state management, layouts, testing, and more.  This channel will help you to become a better Flutter developer. – Code With Andrea

### 👩‍💻 Google Codelabs

You can also learn Flutter with the [Google Codelabs](https://codelabs.developers.google.com/?cat=Flutter) website. The website provides a guided, tutorial, hands-on coding experience. Besides, I have just discovered this site. You can even use it outside of Flutter. It references all the Google technologies with many tutorials to help you use them.

> Most codelabs will step you through the process of building a small application or adding a new feature to an existing application. They cover a wide range of topics such as Android Wear, Google Compute Engine, Project Tango, and Google APIs on iOS. – Google Codelabs

### 📄 Documentation

Something I love about Flutter is the [documentation](https://flutter.dev/docs). It’s complete and can be helpful when you are learning or developing an application.

The documentation will show many topics, such as:

- How to start with Flutter
- All the available widgets
- The API docs (libraries docs)
- A cookbook with a lot of tutorials
- Some examples of apps
- The Flutter Youtube channel

### 📚 Books

- [Flutter Succinctly](https://www.syncfusion.com/ebooks/flutter-succinctly)

By searching through the Flutter documentation, I found this book. The author creates a fully functional app, which allows you to get a clear understanding of the framework. This book is accessible whether or not you have mobile development experience.

- [Flutter Tutorials Handbook](https://kodestat.gitbook.io/flutter/)

This cookbook contains recipes that demonstrate how to solve common problems while writing Flutter apps. Each method is standalone and can be used as a reference to help you build up an application. It can be used in addition to the Flutter documentation. Many examples are listed there.

### 🚀 HereWeCode

I plan to create tutorials on Flutter soon. To stay up-to-date, you can follow [the Youtube channel](https://www.youtube.com/channel/UCSRuzHhjUaAnBb6_rmlr10g) and [Twitter](https://twitter.com/gaelgthomas). Feel free to let me know what topics and tutorials you want to see.

## 💰 Paid content

### 📸 Courses

- [The Complete 2020 Flutter Development Bootcamp with Dart](https://www.udemy.com/course/flutter-bootcamp-with-dart/)

> This Flutter Bootcamp is officially created in collaboration with the Google Flutter team. You will learn from scratch and create a few applications. The course includes 27+ hours of video tutorials and projects. Even if you have zero programming experience, you can start it. – The Complete 2020 Flutter Development Bootcamp with Dart

- [Learn Flutter & Dart to Build iOS & Android Apps [2020]](https://www.udemy.com/course/learn-flutter-dart-to-build-ios-android-apps/)

> A Complete Guide to the Flutter SDK & Flutter Framework for building native iOS and Android apps. The basic programming language will help but is not a must-have. With this course, you will learn Flutter not only in theory but with the build of a complete realistic app. The app is going to use features like Google Maps, the device camera, animations, and more. – Learn Flutter & Dart to Build iOS & Android Apps [2020]

- [Dart and Flutter: The Complete Developer's Guide](https://www.udemy.com/course/dart-and-flutter-the-complete-developers-guide/?ranMID=39197&amp;ranEAID=R7BSs79ua1Y&amp;ranSiteID=R7BSs79ua1Y-SpCxrCZ5bX.j71JLQLZ2Bg&amp;LSNPUBID=R7BSs79ua1Y)

> Everything you need to know for building mobile apps with Flutter and Dart, including RxDart and Animations! Previous programming experience with Javascript, Java, Python, or similar is required.  In this course, you will understand how to design, create animations, and architecture an application with Flutter. This course appears to be more advanced than others; you will learn skills such as using offline storage, optimizing network requests, using advanced design patterns, and so on. – Dart and Flutter: The Complete Developer's Guide

- [Flutter & Firebase: Build a Complete App for IOS & Android](https://www.udemy.com/course/flutter-firebase-build-a-complete-app-for-ios-android/?couponCode=JAN-20)

> In this course you will build a complete, real-world application for iOS and Android, by using Dart, Flutter and Firebase. This course starts from the basics, and includes a full introduction to Dart and Flutter. As you make progress, the course will introduce more advanced topics, with special emphasis on writing production-ready code, so that you can learn how to build robust applications that scale. Important concepts are explained with clear diagrams. So by the end of this course you will be a competent Flutter developer. – Flutter & Firebase: Build a Complete App for iOS & Android

### 📚 Books

- [Learn Google Flutter Fast: 65 Example Apps](https://www.amazon.com/dp/1092297375?creativeASIN=1092297375&amp;imprToken=3roEoQsoEHSkrt2BzcZW9g&amp;slotNum=33&amp;tag=reactdom-20&amp;linkCode=osi&amp;th=1&amp;psc=1&amp;keywords=flutter%20programming%20books)

A complete book about Flutter. Learn Google Flutter by example. Over 65 example, mini-apps. You will learn how to create the most basic application to an advanced one with complex architecture. At the end of the book, the author explains to you how to publish your app on app stores.

- [Beginning Flutter: A Hands-On Guide to App Development 1st Edition](https://www.amazon.com/Beginning-Flutter-Hands-Guide-Development/dp/1119550823/ref=sr_1_5?keywords=Flutter&amp;qid=1579668628&amp;sr=8-5)

This is an excellent introduction to Flutter, so you can quickly get started and understand the fundamental principles. If you prefer to learn through books, don't hesitate!

> Beginning Flutter: A Hands-On Guide to App Development is an essential resource for both experienced and novice developers interested in getting started with Flutter. It's an introduction to Flutter, step by step. This book is written by Marco L. Napoli, the CEO of Pixolini Inc. and an experienced mobile, web, and desktop app developer. He has a strong proven record in developing visually elegant and simple to use systems. – Beginning Flutter: A Hands-On Guide to App Development 1st Edition

---

If you want more content like this, you can [follow me on Twitter](https://twitter.com/gaelgthomas/), where I tweet about web development, self-improvement, and my journey as a fullstack developer!