Flutter for Web feels like such a wild step backwards in terms of functionality that I'm not sure the benefits it brings are worth it. I just tried a few samples, and basic interactions like selecting text, saving images, and opening links in new tabs don't work. This is the result of rendering everything to a element. I'm much more interested in a React Native style approach, which seems to provide a consistent set…
The example spinner ( h https://flutter.dev/#dartpad-landing-page ) also looks pretty choppy on my Macbook Pro 16. I haven't tried on lower-specced devices, but it doesn't inspire a lot of confidence.
Flutter 2
221–230 of 780 posts
Re: Flutter 2
#222I want to love Flutter. But once looking at it, it's a no go. It's the new flash. Really, you cannot copy the text anymore. React native is my goto solution now.
Now, out of the many considerations we had, in this process, "cannot copy the text" is... well, I have no idea what you are talking about. Are you referring to not being able to do this in a EditableText widget, and if so, have to tried a `TextField` with `enableInteractiveSelection: true`?
I mean, there should be hugely more important development concerns when evaluating these things, than... a brief rejection based on something as trivial as that. Then again, I won't presume to know your situation or the criteria you had. But it does strike me as a bit... shallow reasoning.
I can say, that for our case, the dependency hell that you more easily get with React Native was what put me off completely.
Re: Flutter 2
#223Earlier quoted context omitted.
The example spinner ( h https://flutter.dev/#dartpad-landing-page ) also looks pretty choppy on my Macbook Pro 16. I haven't tried on lower-specced devices, but it doesn't inspire a lot of confidence.
iPad Safari on 200/100Mbps connection. * The page takes about 20s to load. * After pressing Run, nothing happens for 10s, then Click me! text appears. * On clicking the text, nothing happens. * On clicking it a few times, the page crashes and reloads.
Re: Flutter 2
#224Earlier quoted context omitted.
Flutter team member here. In Flutter, the developer consciously decides which text should be selectable (and thus copy/paste'able), so while it's true that text is not inherently selectable in a Flutter app, text that the app developer decided to make selectable will be.
In the context of the web, this seems like it should be a non-starter. Why should the developer be able to tell the user what can and cannot be selected?
Re: Flutter 2
#225We've spend the last 25 years hacking a document renderer and scripting language aimed at 5 line form validation logic into the be-all and end-all of modern application development. Browsers sit at 10s of millions of lines of code, with thousands of people working on them. We depend on a standardization committee to have things like the common controls you could find in a Smalltalk-80 UI, and these are still insufficient for many purposes such that developers end up cramming together a million diffs to create the controls they want, in the style they want.
The writing was on the wall once we had a canvas element, aka a drawing context, and webassembly, aka a vm target you can compile to. We can keep building up giant garbage heap of complexity and saying that's what we meant to do ( https://youtu.be/oKg1hTOQXoY?t=814 ), or we can take step back and ask if we can provide simpler lower level tools on top of that.
With that said, I feel somewhat ambivalent about all of this. Of course the web is an open standard and has provided an incredible explosion of knowledge and utility for everyone. Any sweeping changes to that should elicit feelings of caution I think. Things like accessibility are important, although I think that enough people recognize this that we don't need to worry about it being left behind with this approach and I would also say the ocean of divs approach isn't exactly great for accessibility either.
Will this take off and be the first of a new kind of application development? Maybe, or maybe we'll all look back on it in 10 years and wonder what the hype was. For my part I do feel like some sort of change is going to happen, the current approach of piling more crap on top of the current html app dev paradigm feels unscalable, while the strengths of how it allows for app distribution feel like something that we can never get away from. Will Flutter retain those strengths and leave behind the weaknesses? I hope so, and it make me excited for the future of web development in a way I haven't previously.
Re: Flutter 2
#226I think a lot of people will compare React (Native) and Flutter in this thread, and as someone who has had a positive experience with Flutter, I will say that by far the biggest benefits were that (a) there's one way to set up a project, dependencies, compile, and run, and (b) it mostly just works across iOS/Android/macOS (and I guess Windows, which I didn't test). (a) is so, so big. It is a big part of the reason th…
It was also encouraging to know that if I ever wanted to branch out and deploy my app to the desktop on Windows, MacOS or Linux, that I would have that choice very soon.
And I'm a long-time pure web guy who prefers mobile-responsive web apps most of the time! But if you're going to deploy native and don't have the budget for writing code for every platform, Flutter to me is a lot easier than the other toolkits out there.
Re: Flutter 2
#227Earlier quoted context omitted.
Flutter team member here. In Flutter, the developer consciously decides which text should be selectable (and thus copy/paste'able), so while it's true that text is not inherently selectable in a Flutter app, text that the app developer decided to make selectable will be.
This sounds awful. Like some sort of bullshit DRM in a way. Now I'm thinking of all the ways I could get screwed here. * Not being able to copy transactions from my bank account * Not being able to easily send text to a read-later service (not sure if this necessarily depends on selectable text, but who knows, maybe selectable means the text isn't visible to these services now) * Not being able to easily copy somethi…
Re: Flutter 2
#228Earlier quoted context omitted.
I've tested on my phone (1yr old pretty good Android one) and the whole thing is very laggy runs with like 10fps. What about a11y? The whole thing feels like Adobe Flex in 2010. It solves a great deal of problems that the web had but introduced a plethora of others.
[Flutter Eng. Dir. here] Still relatively early days for Flutter Web, so I would not be shocked if it's not buttery everywhere. However, we would certainly love to learn more. fluter.dev/support has links as to how to file an issue if you're interested. https://flutterplasma.dev/ is one demo to try. We expect to be updating flutter.dev/web and flutter.dev/showcase to update more over time.
They're completely unusable in Firefox. For example, it only scrolls 3 pixels per rotation of the scroll wheel on Windows 10
Re: Flutter 2
#229Earlier quoted context omitted.
Thanks for the reply! What about a11y? Can you navigate a Flutter page via keyboard? What about screen reader support?
Yes, we consider accessibility a must-have feature. On the web, we have a second DOM tree called the SemanticsNode tree, which is generated in parallel to the RenderObject DOM tree. The SemanticsNode tree translates the flags, actions, labels, and other semantic properties into ARIA attributes. We've been testing Windows Narrator, VoiceOver, TalkBack, and ChromeVox screen readers to navigate a Flutter web app.
Edit: You may want to add the NVDA open-source screen reader for Windows to your list. And when you test with a screen reader, make sure you use it the way an actual user would when browsing the web, e.g. using NVDA's browse mode with the arrow keys to move through the page.