6 Flutter resources for beginners and beyond in 2022
This last year I left my job as a software engineering tech lead and brought with it 4+ years of Dart experience. In the past, that may not have been super useful but with the rising popularity of Flutter and cross-platform mobile development, I have a new domain to target and use that experience. Thus, I picked up and started learning Flutter development. Here are the best resources I found that accelerated my learning and slingshotted me out of beginner status.
flutter.dev and pub.dev
Many developers, myself included, recommend starting with the docs whenever picking up a new language or framework and Flutter is no different. Flutter.dev should be the first stop when starting to learn Flutter and/or Dart. Not all docs are built the same, but Google did an excellent job when putting together the Flutter docs. These docs guide developers through setup and installation, Flutter basics, intricate examples and framework details and everything in between. I’d argue that this should be the most visited resource when learning Flutter.
As a side note, as of this writing, Flutter Engage event is still open for sign-up and will be available to virtually join on March 3rd! See the overview below.
Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.
On March 3, engage, innovate and collaborate with the global community. Join us for a special online event!
In addition to flutter.dev, pub.dev should be visited when wondering if something already exists within the Flutter ecosystem. Pub is Dart’s dependency management system, similar to npm/yarn for javascript or pip for python. Pub.dev hosts a ton of fantastic community developed packages that can provide a variety of different features or tools when building your app. In a future article, I’ll cover some of the top packages in the ecosystem.
Youtube
Youtube has videos for literally everything and that includes Flutter. There are a handful of channels that I’ve found which continue to put out quality content surrounding the Flutter framework and building apps with it.
Flutter and The Flutter Way
If I had to only recommend two channels, it would be these two. Flutter is the official channel that has multiple different playlists including Widget of the Week and The Boring Show which are direct and to the point and provide insightful information when first learning Flutter. The Flutter Way is mostly focused around building out quality UIs with Flutter.
Additionally, I’ve found some individual Youtube contributors that have been extremely helpful along the way.
Kalle Hallden, Filled Stacks, and Marcus Ng
Each one of these have their own channels that include Flutter development. Kalle is a general programming vlogger/youtuber and discusses a variety of topics and has learned Flutter in the past year or two and shows off his expertise doing one day builds. Filled Stacks dives into some of the more nuanced sections of Flutter development as well as giving high quality architectural tutorials. Finally, Marcus Ng is fantastic when it comes to building sharp, clean Flutter UIs. When wondering how to get something to visually look astonishing, this should be the channel to visit.
Github
Another useful resource for any developer is going to look directly at code in order to understand how different pieces are built and hopefully add that to their own app. Github is a fantastic place to look directly at source code. Below are some of the best repos I found when diving into Flutter.
Solido/awesome-flutter
Although not code specifically, it’s a one-stop shop for all the top resources when it comes to learning flutter. This repo links out to all sorts of examples and tutorials within the Flutter ecosystem. If I want to see what’s best practice, hot, or new in Flutter, I look here. It’s definitely on my bookmarks bar.
brianegan/flutter_architecture_samples
This repo provides almost every example of state management architecture that exists in Flutter. Like with other languages, Flutter has all sorts of patterns when setting up state within an app and this repo does a great job showing exactly how each one can be implemented.
mitesh77/Best-Flutter-UI-Templates
Mitesh77 put together a small set of template apps that can be used to build high quality UIs. These are great starter templates that can be used to kickstart the UI of a new app.
Slack and Discord
Learning a new language does not need to be a solo pursuit. Communicating with other beginners and experts alike is an excellent way to build a deeper understanding of a new topic. Both Slack and Discord communities are alive, active and helpful when learning Flutter or Dart. I’ll admit that I’m a bit of a lurker at this point, but these chats have been nonetheless helpful in learning and staying connected with others on this journey. If new to Flutter, I’d recommend joining these groups and the ever growing community of Flutter developers.
Medium
I’m a big fan of reading articles and Medium is building a solid community around programming in general, but also Flutter and mobile app development more specifically. It’s part of my daily process to see if any new Flutter article has popped up that catches my eye.
Flutter and Flutter Community.
These are the top two publications I’ve discovered in regards to Flutter framework. Flutter publication is managed by the actual Flutter development team and puts out content on the latest and greatest updates as well as deeper dives into some of the more technical parts of the language. Flutter Community is the rest of us building a community around the Flutter framework and spreading knowledge with each other. One example of a fantastic article within that community is Flutter Layout Cheat Sheet. I’ve referenced this countless times when learning to build new UI layouts and it looks as if thousands of other developers have as well.
Udemy Courses
Tutorials and courses are a fantastic way to begin learning a new language or framework, and Flutter is no exception. There are some excellent courses all over the internet, but I particularly enjoy Udemy courses. Signing up for courses is a great way to get the basics down and learn and piece together the knowledge to continue building. When just starting out, these courses not only give a base understanding, but can also build a good portfolio of small apps. Udemy courses can be expensive when purchased at full price, but Udemy seems to constantly have sales on courses that put them in the range of $10–20.
Here are a few of the top courses that I took and a brief explanation of each.
Flutter Bootcamp with Dr. Angela Yue
This course was built in conjunction with the Google Flutter team and it is excellent for either beginner programmers or beginners to Dart and Flutter. Dr. Angela Yue takes participants through a series of increasingly complex app builds that results in a portfolio of about 15 tiny-small apps that includes interactive apps that manage and store data in Firebase.
Flutter and Dart developer course with Maximilian Schwarzmüller
I’d say this course is one step up from the Flutter Bootcamp course above. Participants can learn Flutter and Dart from zero with this course but it takes a dive into some deeper topics as well including maps, camera, and authentication. At the end of this course, developers will have around 5 small-medium apps and have learned how to publish to either Google’s Play Store or Apple’s App Store.
Flutter course with Stephen Grider
Instead of building a bunch of apps like the ones above, this is split more by topic. Some of it is a bit outdated but most of the modules are fantastic. Stephen is a former Software Architect that does an excellent job of explaining complex topics and developing high quality apps. This is the best course I’ve seen on complex topics within Flutter including BLOC state management, offline data storage, Reactive Programming with RxDart, SQLite, as well as Animations.
Although not a definitive list of every resource out there, I found these resources to be the best in helping me gain a deeper understanding of Flutter and allowed me to quickly ramp up on the technology. I hope they will help you as much as they helped me. Comment and let me know if there are any other resources that you have used or are using when learning Flutter and Dart. I’m always on the lookout for anything to help me better understand the language and framework.
** Note: I am not affiliated with any links or resources in this article. **