At the start of the new year, I discussed the need to find a cross-platform solution to quickly prototype language learning games (which, for extensive purposes, are apps). I settled on Xmarain, and over the last few weeks I’ve been steadily learning Xamarin.Forms to the point that I can now start working on ap projet.

Flutter

One solution which I didn’t consider was Flutter. Flutter is an open-source mobile application development SDK created by Google, which can be used to develop applications for Android and iOS. Although the SDK was only officially released last Dec, the community is actually very vibrant as the SDK was in alpha/beta for a long time. Moreover, as Flutter is the primary method of creating applications for Google Fuchsia, Google’s future super OS, it isn’t some community-led SDK that may run out of active controbutors in the future.

Flutter allows you to build beautiful native apps on iOS and Android from a single codebase.

Fast Development: Paint your app to life in milliseconds with stateful Hot Reload. Use a rich set of fully-customizable widgets to build native interfaces in minutes.

Expressive and Flexible UI: Quickly ship features with a focus on native end-user experiences. Layered architecture allows for full customization, which results in incredibly fast rendering and expressive and flexible designs.

Native Performance: Flutter’s widgets incorporate all critical platform differences such as scrolling, navigation, icons and fonts to provide full native performance on both iOS and Android.

So far, so good, but is really worth using over Xamarin or React?

Xamarin.Forms is ok but…

I really hate laying out UI in Xamarin.Forms. Maybe with more experience I’ll get better at it, but honestly I hate writing UI code like it is 2010. Although there is an XAML Designer, it isn’t compatible with Xamarin.Forms. I hope this is something they improve upon in the future, but with the fragmented native of the platform (Xamarin.Native and Xamarin.Forms), I’m not expecting anything soon.

First Impressions

Conclusion

Although Flutter is something I’d love to start working with straight away, I think it makes sense to at least develop one game using Xamarin.Forms before jumping ship.