In the last week, I’ve started digging into Flutter.
Why?
I’m not interested in learning yet another platform/language. Dart (the language for Flutter) is easy to pick up, and Flutter looks like a promising choice for cross-platform mobile development.
But I’m much more keen on learning about clean architecture and hexogonal architecture patterns.
A few days ago I stumbled over ResoCoder’s blog and tutorial series on clean architecture in Flutter:
What’s great about this tutorial is that it shows you how to apply test-driven development and a hexogonal architecture step by step.
There are a lot of talks on YouTube about clean architecture, but it’s difficult to learn how to implement such a style with a project.
ResoCoder’s way looks solid, although I’m not fond of using external libraries for sealed unions and non-nullable types. Dart doesn’t offer them out of the box.
Other than that, Dart and Flutter are surely a viable option for developing mobile applications.
Resources for Learning Flutter
- Flutter App with Firebase Authentication and Firestore Tutorial - Crypto Wallet: free YouTube video
- Flutter Crash Course (partly free)
- Flutter Essentials - Learn to make apps for Android, iOS, Windows, Mac, Linux (Full Course) (free 2-hour course from FreeCodeCamp, June 2020)
- Flutter Example Apps: a repository of apps for beginner, intermediate and advanced developers
- Flutter TDD Clean Architecture Course by ResoCoder
- Flutter Tutorial - Building a Production App From Scratch (free 1-hour tutorial from FreeCodeCamp, September 2020)
- Flutter Tutorials Handbook
- Flutter Web Crash Course 2020 | Create a Complete Web App for Beginners
- Flutter in 2 hours video (from 2019)
- Flutter in Practice
- Flutter in Practice: shows the process of building a mobile app
- Getting Started with Flutter (tutorial)
- How to Learn Flutter in 2020
- Learn Dart: First Step to Flutter: a free course on Dart (sign-in required)
- The Ultimate Flutter Tutorial for Beginners: a free guide that covers everything to get started