Much better than previous miracle cures
We've been using it for a couple of months, to solve the Android/iOS dichotomy. I'd say at this stage - a whisker before the app's release - it's pretty good, with only a small number of wrinkles that need re-reading/checking.
Pros:
- It does what it says on the tin, i.e. build once deploy twice instantly. In our native app world that's about 30-40% dev time saved.
- reasonable performance - good enough for casual apps with some animated widgets/'congrats', but not for gaming
Cons:
-a new development pattern. That's harder than a language swap IMHO, because you can code bits in old school patterns, and then you'll get pulled up halfway through the project, and have to rework.
- when you need to go low level, you're back into the ugly world of native code (examples are decent splash screens, flexible app icons, etc)
- min APK size seems to be around 15Mb. An equivalent native app would usually be 4-8MB.
- You can hook Swift and Kotlin into Dart, but not into Java. You can go the other way (integrate a Flutter module into Java) but that's only good for Android devices, of course.