Flutter

I recently found out about the new cross-platform framework for mobile development that Google backs up: Flutter. Although it’s only in alpha stage (i.e. early development) at this time, I wonder, could it eventually reach more adopters than Xamarin or Cordova-based frameworks, or – more importantly – more than native mobile development?

Here is the table I came up with to compare:

Android + iOS
native
Cordova-based cross-platform Xamarin
cross-platform
Flutter (alpha)
cross-platform
Backed up by Google + Apple Apache Microsoft Google
What you need to know/learn? Java/Kotlin + ObjC/Swift JavaScript / TypeScript C# Dart
How does it work? Natively WebView: interpreted code, rendered as in device browser AOT-compiled, uses OEM widgets, native rendering AOT-compiled, uses custom widgets, custom rendering
Stock-like UI? Yes Yes Yes Requires custom widget selection
Native performance? Yes No Yes Yes
Easy maintenance? No Yes Yes Yes
Difficult corner cases? No Yes Yes Yes
Easily access new OS features? Immediately Later Later Later
Non-mobile platform support None Web Windows None
3D support Unity WebGL None None

While I still don’t know the answer, I tend to say it’s a no.

Unless Flutter would prove to have support for many use case scenarios and very few bugs when it would go beta, which I assume will be very difficult given the fact that they do custom rendering and that developers can only use widgets from a custom catalog.

Or unless Google pushes it hard into Android Studio and “forces” everyone (or at least most Android developers) to use it, like Microsoft did with Visual Studio .NET when they wanted less Win32 development long time ago. But this time it’s different, as we have a mobile OS duopoly and Apple iOS developers could simply stick with Xcode anyway!

By the way, Android Studio 3 is now live, with Kotlin language support!

About Sorin Dolha

My passion is software development, but I also like physics.
This entry was posted in Architecture and tagged , , , , , . Bookmark the permalink.

Add a reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s