Updated on June 8, 2020.

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:

Learn Flutter Clean Architecture & TDD - Full Course (Flutter Tutorial)

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