flutter / uxr

UXR work for Flutter
BSD 3-Clause "New" or "Revised" License
227 stars 28 forks source link

[proposal] address missing features for flutter web in flutter/uxr #52

Closed iapicca closed 3 years ago

iapicca commented 3 years ago

I'm a great fan of the concept and the work done by the team and the community for nav2-usability I'm also a fan of the initiative suggested by @rydmike and carried on by @osaxma of collecting flutter web limitation so far (with the feeling that this list is just a fraction of the issues):

plus all the keyboard, mouse and other issues not specific to web

IMHO, how these issues are addressed should depend from devs feedback, for example in a recent youtube conference @mariamhas asks feedback about the use cases for flutter web hot-reload @marwan-at-work and @nguyenxndaidev provided 2 valid use cases for flutter web hot-reload:

such a useful feedback could be "irretrievable" if not collected properly.

As a flutter developer I'm concerned about the future for flutter web, quoting @creativecreatorormaybenot 's comment in reference to hot reload for flutter web

The fact that Flutter Web does not support it as a stable platform should be a big red flag in terms of priority. If the priority is low because it seems like this is not feasible, you should at least give us an indication that it is not going to happen.

I feel in the same way and not just for hot reload, but for most (if not all) the missing features mentioned above and often parity are considered feature request with low priority, but for devs these feel like bugs (paraphrasing @gaaclarke comment on a not-so-much tangentially related issue)

these red flags might cause even flutter enthusiasts to looks somewhere else for web development (for example) this is a dangerous feedback loop

flutter web is not a priority => flutter web lacks features => few devs adopt flutter web => flutter web is not a priority

Collecting and analyzing developers feedback might break this loop

I wish the missing features for flutter web will be addressed in the same way as nav2-usability

thank you

xuanswe commented 3 years ago

flutter web is not a priority => flutter web lacks features => few devs adopt flutter web => flutter web is not a priority

Nice quote 😄 !

amorenew commented 3 years ago

Hot-reload is a must feature for web developers 😭 🥺

mariamhas commented 3 years ago

Thank you for the feedback and pointing us to the web limitations outlined by @osaxma.

Feedback like this is very valuable so I appreciate you taking the time to share it.

While Flutter’s web support is now available in the stable channel, we don’t consider the work done.

Leading up to the stable release, we did several research studies with early adopters using Flutter on the web as well as surveys to help us define the V1 stable release of Flutter’s web support.

We are currently in the process of defining our priorities and future roadmap for Flutter on the web.

My main takeaway from your feedback is that you’d like to see the same transparency with our plans and research for Flutter on the web that we have done with the research for nav2.

I’m closing this issue, but will ensure that we address the points you made when we communicate our plans and conduct our research for Flutter on the web in the future. Stay tuned :)

Until then, the best way to provide the team feedback is to continue filing and upvoting issues in the flutter/flutter repo.

Thank you! Mariam

iapicca commented 3 years ago

[...] My main takeaway from your feedback is that you’d like to see the same transparency with our plans and research for Flutter on the web that we have done with the research for nav2. [...]

@mariamhas that is almost correct, I do have a question that I feel being the true core of the issue; for the current road-map for web and desktop states

For Web specifically, our focus will be on fidelity and performance, rather than new features

some, including myself, may feel that the road-map could be more detailed, specifically

is parity across platform considered a new feature?

mariamhas commented 2 years ago

following up on this: I hope this blog post is the kind of roadmap you were looking for and addresses more specifically what our near term plans are. https://medium.com/flutter/flutter-whats-next-on-the-web-e0454bff964

creativecreatorormaybenot commented 2 years ago

thanks @mariamhas - the scrolling section in my mind is missing issues like https://github.com/flutter/flutter/issues/83368, i.e. if you are not using macOS and/or trackpads, the default scrolling behavior currently is not usable on some devices.

rydmike commented 2 years ago

Excellent article and progress on Flutter Web, thanks @mariamhas.

I noticed the infamous topic SEO was only fleetingly mentioned, what kind of strategy are you going with to tackle it?

SEO Renderer

An interesting community approach that I found is the seo_renderer package: https://pub.dev/packages/seo_renderer

It can help a bit, you can wrap Text with TextRenderer, Links with LinkRenderer and Images in ImageRenderer. What does that do?

It's not a perfect solution, but it can help to reduce the stress of not having any SEO at all from important text, links and images in your Flutter web app. Plus you can use it in cross platform VM builds too.

It uses dart.html to do its magic, and sure, mixing it into Flutter is not ideal. As a disclaimer, I contributed to the project, but only minorly by showing the author how to do the conditional dart.html and wrappers so it is not even imported in VM builds, but can be still be used in same code base.

creativecreatorormaybenot commented 2 years ago

@rydmike I am 99% sure this behavior is punished by search engines btw.

rydmike commented 2 years ago

@creativecreatorormaybenot it is definitely a strong possibility that it may be so.

Author is trying to find out if that is the case as well:

I've seen reports from using this package and getting good SEO results, but I'm not sure either. It is indeed "a bit" like past cloaking.