Hacker News new | past | comments | ask | show | jobs | submit login

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).

Thank you for providing these detailed examples, some of these are serious showstoppers indeed and indicate this project is still very much in the alpha stage. It's always seemed to me that frameworks that try to emulate native UI widgets are continually chasing a moving target and the results can be quite hit or miss.

This is really interesting, thanks!

It makes me wonder if the flutter team is aiming to totally replace native apps or replace 'most' native apps, because I tend to agree with Hixie re the synchronous calls, but only in 90% of app use-cases.

The iOS text stuff is surprising, though, especially since the last beta release had a 'Pixel Perfect Cupertino' focus. Hopefully will be fixed before they bring out 1.0

thank you for the insight and I couldn't agree more with your closing paragraph.

I've been thinking about trying flutter for a fun little side project; now I'm going to browse through open issues and see if anything seems like a showstopper. hope not because flutter seems neat and RN scares me.


Thank you! I did an hour and a half of reading last night on these. Especially on https://github.com/flutter/engine/pull/4358. Very, very interesting and certainly put me on a watch out about Flutter.

Also, this should really be a top comment.

Man, this issue is really damning.

Flutter team member here.

Just letting you know we haven't forgotten about these issues and will be getting to them in the coming months. The iOS text issues, specifically, have someone looking into them sooner rather than later.

One year and counting since I've been watching this issue (just to trigger "Next" on the keyboard); it's finally on their "near-term radar":


This is probably the most informative critique of Flutter that I've read. Should be higher up on the thread. Thanks!

a combination of its premise (to reimplement all of the UI)

This, in particular, even with Google-level attention and resources, seems like a design dead end, at least for third party apps.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact