Google's Flutter is about to be released as a Version 1 product, ready for you to use. The question is if you be considering a way to create nearly native programs that run on iOS or Android? I suppose it depends upon what "almost native" means?
Flutter is a strange project for Google to encourage. It's intended to permit the creation of apps that work on both iOS or Android. As Google only actually has an interest in getting one to write Android apps, it is difficult to find out exactly what the motivation is to help Apple out with accessing programs.
Now, about six months after, we have a release trailer, which must be something similar to a release candidate. There is also an official blog post talking up the project. It mentions a 50% increase in active Flutter consumers, entering the top 100 repos on GitHub and lots of user groups, events, and meetings. More importantly, some Flutter-based apps are emerging from the App Store and Play. While all this is great, it's still hard to know if Flutter has got a chance of taking off. An increase in interest isn't necessarily the exact same thing as a whole lot of interest.
The actual question is why would you choose Flutter?
Developing with Flutter looks fairly simple. You can even utilize Android Studio using an add-in or an alternate IDE. The majority of Flutter is concerned with making a UI in code. You can create something that looks good on Android or iOS. As soon as you get beyond the UI, things get a bit more tricky. There's an interop module that gives ways of calling the native API from Dart. On the Dart side this works in a platform-independent way, however, the price is that you have to supply the native implementation of the function.
That means that you may more-or-less invent your platform execution of the native APIs. This isn't that hard, but it could be much better if Flutter provided a standard regularization of this iOS along with Android APIs - however, this would be a massive project. More realistic would be a heart 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 programs - how can you utilize Android Fragments, for example? It appears to me the perfect Flutter program is one that is largely UI with a few native API calls to provide information. Surely, before committing to a Flutter program development undertaking, you need to be certain that you understand the way the interop works and make certain that to have both Android and iOS expertise to implement the native elements of the project.
Flutter is going to be published and we've got still another method to create programs. It will be interesting to observe how high it might go.