|All A Flutter - Google's Cross Platform App Framework Ready To Go|
|Written by Ian Elliot|
|Friday, 22 June 2018|
Google's Flutter is about to be released as a Version 1 product, ready for you to use. The question is should you be interested in a way to create almost native apps that run on iOS or Android? I suppose it depends on what "almost native" means?
Flutter is a strange project for Google to support. It is designed to allow the creation of apps that work on either iOS or Android. As Google only really has an interest in getting you to write Android apps, it is difficult to see what the motivation is to help Apple out with gaining apps.
Now, about six months later, we have a release preview, which must be something like a release candidate. There is also an official blog post talking the project up. In mentions a 50% increase in active Flutter users, entering the top 100 repos on GitHub and lots of user groups, meetings and events. More importantly some Flutter-based apps are appearing in the App Store and Play. While all this is good, it is still difficult to know if Flutter has a chance of taking off. An increase in interest isn't necessarily the same thing as a lot of interest.
The real question is why would you adopt Flutter?
Developing with Flutter seems fairly easy. You can even use Android Studio with an add-in or an alternative IDE. Most of Flutter is concerned with creating a UI in code. You can create something that looks good on Android or iOS. Once you get beyond the UI, things get a bit more tricky. There is an interop module that provides ways of calling the native API from Dart. On the Dart side this works in a platform-independent way, but the cost is that you have to supply the native implementation of the function.
So you can more-or-less invent your own platform implementation of the native APIs. This isn't that difficult, but it would be so much better if Flutter provided a standard regularization of the iOS and Android APIs - but this would be a huge project. More reasonable would be a core implementation of the API calls that are most used.
Because of this native API interop I'm not sure that you could build apps that are as sophisticated as full native apps - how would you use Android Fragments, for example? It seems to me that the ideal Flutter app is one that is mostly UI with a few native API calls to provide data. Certainly, before committing to a Flutter app development project, you should make sure that you understand how the interop works and make sure you have both Android and iOS expertise to implement the native components of the project.
Flutter is about to be released and we have yet another way to create apps. It will be interesting to see how high it can go.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Wednesday, 13 November 2019 )|