top | item 35829725

(no title)

nathaniel_green | 2 years ago

As a Flutter dev, this article is a good summary of some of the reasons I urge people not to choose Flutter if they're mainly aiming to target the web.

At the company I work at we currently target 5 platforms across our internal and user-facing apps, (Android, iOS, Linux, Windows, Web), and Web is the one that consistently seems to cause the most issues. Performance is a big one of them, I've done about 8 years of webdev now and there is a noticable performance difference between using a canvas-drawn UI in Flutter and the usual React-based equivalent.

We've mostly stuck to using it for internal applications, as well as for a small portion of our user-base that prefer to access our user-facing mobile app via a desktop. It also serves as a decent backup deployment target if you need to push a hotfix for some users and can't wait for the App Store review to go through.

It doesn't seem like the Semantic HTML issue will ever be solved too, the Flutter team did mention in the latest conference that they're aiming it more to be used for web apps than websites.

For the other platforms however it works great, and I'd definitely recommend it for anyone looking to make a cross-platform app that doesn't need to rely heavily on working on web.

discuss

order

amackera|2 years ago

Do any of the web accessibility issues come up for other platforms as well? How does the iOS screenreader handle Flutter-generated views on iOS?

"It doesn't seem like the Semantic HTML issue will ever be solved too, the Flutter team did mention in the latest conference that they're aiming it more to be used for web apps than websites."

I'm not sure I understand the distinction between web apps and web sites. Don't both of those experiences need to be accessible?

Thanks for sharing your input! Helpful to hear from folks actually using the tech and not just arm-chair analysis.

nathaniel_green|2 years ago

> Do any of the web accessibility issues come up for other platforms as well? How does the iOS screenreader handle Flutter-generated views on iOS?

Unfortunately I haven't done much accessiblity-focused work with Flutter yet, however the docs do mention there are some capabilities but the amount of info there seems slim: https://docs.flutter.dev/accessibility-and-localization/acce...

> I'm not sure I understand the distinction between web apps and web sites. Don't both of those experiences need to be accessible?

The distinction as I understand is websites are usually more document-orientated focused mostly on reading (e.g. a blog, or even Hacker News), whereas web apps are more focused on user-interaction (e.g. spreadsheet apps, email apps).

Due to Flutter's large bundle size and long initial load time it's definitely not suitable for things like news sites or blogs where initial load, SEO, and readability are all important.

I would agree they both need to be accessible, but there's also extra cons to Flutter Web that make it not the best choice for websites even if it did accessbility perfectly.

jkaptur|2 years ago

(I don't know Flutter well, so I'm a bit commenting from my armchair, sorry). In my experience, Android and iOS provide lower-level accessibility APIs that assume you're going to be making your own controls, while the web standards are considerably more targeted towards the use case of a site with content and forms (not a canvas where you click on stuff).

elforce002|2 years ago

We didn't even bother using flutter for web. We went straight to React/Next.js and the results are wonderful.

For mobile? Sure, we're using Flutter (we're planning to switch to native as soon as we gain traction since our apps will be handling video ala tiktok) but other than that, Typescript for everything else.

Lionga|2 years ago

Flutter Web WASM is set to be out later in 2023 (Google IO?) [1] and should fix the performance issues.

I have build big Flutter Web Apps and Performance was the only real issue, hope it is improved soon. Things like not selectable Text like the Author mentions just show that he does not really know what he is talking about. Just use the SelectableText Widget that is exactly the same as the Text Widget just that is is well, selectable.

[1] https://docs.flutter.dev/platform-integration/web/wasm

rektide|2 years ago

I absolutely think the team will largely fix the performance issues. And I think Flutter will, after that, go on to be a successful-with-developers but terrible-for-everyone else beast.

The submission early on links the wonderful "HTML is the Web" and this is a huge downgrade in user agency. Flutter does not care one iota that "The Internet is for End Users". [1] They have their own goal to build native like apps & are fine subverting the web. User agency be damned.

[1] https://datatracker.ietf.org/doc/html/rfc8890

nathaniel_green|2 years ago

I have heard that WASM and potentially some engine upgrades could aid the performance but I think it's still too early to say they'll be a definite fix, I'm looking forward to testing it out though once it lands.

Hopefully it helps out on lower end mobile browsers too as that's where Flutter Web really tends to chug.