I have been doing a lot of research recently on Flutter, and sadly there are a lot of "little things" that end up feeling like showstoppers, at least if you want to support iOS, that all stem from a combination of its premise (to reimplement all of the UI) and its focus (which seems to be Android first). Here are a few examples that mattered to me: the keyboard input has tons of open issues that make it seem unusable (and what app doesn't need good text input...), taking photos with the camera picker apparently strips all of the EXIF data (which means the photo is going to show up in the wrong orientation with the wrong gamma, and so look totally broken), and despite constantly reading "they spent a ton of time making the accessibility work", if you actually glance through their issue tracker there are lots of accessibility issues that would seem to be serious problems for users relying on VoiceOver (and then of course, there are tons of accessibility features on iOS that are for people with other disabilities, and pretty much none of them are implemented at all for Flutter as these are all subtle changes to the native controls, each of which they are slowly reimplementing).

https://github.com/flutter/flutter/issues/12920
https://github.com/flutter/flutter/issues/9507
https://github.com/flutter/flutter/issues/20693

https://github.com/flutter/flutter/issues/24575
https://github.com/flutter/flutter/issues/24574
https://github.com/flutter/flutter/issues/18391

https://github.com/flutter/flutter/issues/1668
https://github.com/flutter/flutter/issues/14543

https://github.com/flutter/flutter/issues/4830
https://github.com/flutter/flutter/issues/4827
https://github.com/flutter/flutter/issues/4826

And like... there are even serious issues on Android, stemming from a massive argument about how the core developers of Flutter don't want to support synchronous callbacks into the Dart isolate even though there are tons of Android lifecycle APIs that fundamentally require synchronous delegates :/. This issue is so serious that it supposedly makes Flutter entirely unusable on many Android devices, as it can't react to memory pressure requests (which means activities get destroyed) but also is unable to implement the save/restore state mechanism (so views come back either in subtly wrong ways or even entirely broken); and so people have been reporting that it is literally impossible to use the photo picker on smaller Android devices (as that is a widget that deterministically causes memory pressure).

https://github.com/flutter/flutter/issues/6827 (opened Nov 2016) https://github.com/flutter/engine/pull/4358 ("closed" due to being rejected)

https://github.com/flutter/flutter/issues/15479
https://github.com/flutter/flutter/issues/15478
https://github.com/flutter/flutter/issues/15476

https://github.com/flutter/flutter/issues/21102
https://github.com/flutter/flutter/issues/18059
https://github.com/flutter/flutter/issues/17186

https://github.com/flutter/flutter/issues/17165
https://github.com/flutter/flutter/issues/18700
https://github.com/flutter/flutter/issues/17950

Essentially, I highly encourage anyone attempting to use pretty much anything to sit around and read through the open issues and look at what is currently being built vs. what is still on the roadmap, as the marketing messages behind a lot of these projects might say "we now support so many more iOS controls and it is amazing" while the reality on the ground is that the controls they have might only sort of work and the things that you need might not only not yet be done but might be on the list of things that the project has some philosophical aversion to (which is the case with the Android issues there: if any of those things will cause you a problem, you might be waiting for years to see fixes for them, as the obvious fix was rejected).