DEV Community

Cover image for How to Learn Flutter in 2020
Gaël Thomas for HereWeCode

Posted on • Edited on • Originally published at herewecode.io

How to Learn Flutter in 2020

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.

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

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? 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

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

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 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)

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

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

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

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

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

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

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.

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 and Twitter. Feel free to let me know what topics and tutorials you want to see.

💰 Paid content

📸 Courses

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

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]

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

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

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.

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, where I tweet about web development, self-improvement, and my journey as a fullstack developer!

Top comments (15)

Collapse
 
biz84 profile image
Andrea Bizzotto

Just a few extra resources:

Free

Paid

Also, here's a link to all the other Flutter community channels.

Collapse
 
gaelgthomas profile image
Gaël Thomas

Thank you for all these links.
I updated the article this morning, and I added your links. You made me discover some YouTube channels, they are interesting!

Collapse
 
biz84 profile image
Andrea Bizzotto

Thanks a lot for the update :)
There are definitely a lot of people making tutorials, which is great for learning :)

Thread Thread
 
gaelgthomas profile image
Gaël Thomas

Sure, I discover a lot of resources while doing this article! Which is great! 😊

Collapse
 
christopherkade profile image
Christopher Kade

Always fun to see someone who went to the same school as me here on DEV !

Just as a heads up: your dev.to/blog/what-is-flutter-and-wh... link leads to a 404.

Either way, great article Gaël 😄

Collapse
 
gaelgthomas profile image
Gaël Thomas

Oh really? That's funny! 😄 If you have any other resources, please let me know!

Thank you for the link, I didn’t notice it. It’s fixed! 😁
By the way, glad you like the article!

Collapse
 
soorjun profile image
Jay Soorjun

This link dev.to/blog/should-you-learn-progr... also leads to 404.

Thank you for this great article.

Thread Thread
 
gaelgthomas profile image
Gaël Thomas

I forgot to update the link!
Thank you for your feedback and I’m glad you liked it! 😊

Collapse
 
gvetri profile image
Giuseppe Vetri

Thanks for the resources! 🙌

Collapse
 
gaelgthomas profile image
Gaël Thomas

You’re welcome! 🙏

Collapse
 
mraubreycodes profile image
Aubrey Fletcher

This is so going to be awesome to use and learn, this is going into my toolshed. Thank you, thank you thank you!

Collapse
 
gaelgthomas profile image
Gaël Thomas

Yes!!! I’m glad you like it! Have fun learning Flutter!

Collapse
 
ichavezf profile image
Eduardo Chavez

For people what only speak spanish, the tutorial on udemy of Teacher Fernando Herrera its very good.

Its not free.

Collapse
 
tolgahanbayraktar profile image
Tolgahan

thank for sharing

Collapse
 
gaelgthomas profile image
Gaël Thomas

You're welcome!