7 ms·
I've been using Flutter in the last few months and agree. It's the best multi-platform solution for mobile, although it still doesn't match native behavior and
by RivieraKid 6y ago
I've been using Flutter in the last few months and agree. It's the best multi-platform solution for mobile, although it still doesn't match native behavior and performance, it only gets close.
On the web it's DOA for most use cases - it's just a canvas, so scrolling, text selection, shadow rendering, etc. is custom, doesn't feel native and must be downloaded and compiled.
It can have a future on desktop. One "cultural" obstacle is that the de facto default widget system is Material, which is simply a wrong approach to desktop UI.
- muth02446 6y agoI wish the dart/flutter team would focus on improving dart for web (e.g. by updating/fixing the JS bindings) instead of chasing flutter for web which seems like a long shot and rather hacky (referring to using the canvas for rendering content)
- vesinisa 6y ago> using the canvas for rendering content This sounds like Flash all over again. Let me guess - no native text select, copy & paste supported? Scrolling is "wrong" in a subtle way?
- spiderfarmer 6y agoTie it in with AMP and you have the webdev cocktail from hell.
- timsneath 6y agoWe haven't reached perfection yet (that's why we're still in beta), but our goal is to be _very_ different to Flash in these kinds of areas. Here's an example of text fields: https://gallery.flutter.dev/#/demo/text-field https://gallery.flutter.dev/#/demo/text-field Right-click and you have access to the browser context menu; choose Inspect and you can see a <textarea> or <input> control.
- sciurus 6y agoI loaded that page in both Chrome and Firefox Preview on a Pixel 3a and switching between text inputs or scrolling feels quite janky
- vesinisa 6y agoFrankly that feels exactly like a Flash page. Natively selecting text content isn't supported on either Firefox or Chrome on Android (apart from within inputs). Scrolling is broken ("yanky"). Flutter for Web further feels like a nightmare for accessibility. I tried enabling the native Google screenreader on my device. It only says "No text found at that location" when I try to read any of the Flutter demo pages in either Chrome or Firefox. In addition to being extremely hostile to people with disabilities, it will soon actually be illegal to build new products with accessibility-hostile tech like Flutter for Web for large parts of the European public and private sector: https://en.wikipedia.org/wiki/European_Accessibility_Act https://en.wikipedia.org/wiki/European_Accessibility_Act > we're still in beta From these viewpoints that feels more like an early alpha product. In 2020 no accessibility support is a non-starter.
- mwcampbell 6y agoAbout accessibility, you need to find the "Enable accessibility" button and press it first. It's not visible on screen, but you should be able to find it with your screen reader's navigation commands (e.g. swiping left and right on a touch device). Yeah, it kind of sucks that the user has to turn accessibility on, and for that reason alone, I will never willingly develop a web application with Flutter. But at least it does support accessibility.
- vesinisa 6y agoRight, to be fair I was able to enable the accessibility mode with your instructions. This way, the text content is indeed accessible to a screen reader. However, navigation in any of the demo apps with a screen reader was completely broken. So a user might be able to read a single page but not discover further content. With normal web pages we usually have <a> elements that enable navigation regardless of visual gimmicks.
- yesimahuman 6y agoYea, Flutter Web isn’t viable and likely never will be. The approach will require re-implementing browser primitives (like copy paste) which means you’re always going to need to ship a ton of JS to clients which makes it antithetical to the PWA approach. EDIT: thanks for the downvote. But you don’t have to take my word for it, this sentiment is (privately) shared by Googlers themselves working on Chrome and PWAs.
- yxhuvud 6y agoOm The flip side, modern javascript frameworks seems to like to reinvent the basic primitives as well (based on how often my back button is broken), so I'm not certain that will be a deal-breaker.
- axegon_ 6y ago+1 on this one. I've fiddled with angular dart for instance and tbh as someone who is horrible with doing frontend and hates js with a passion, this was enjoyable. Yet the release of the newer version[0] is taking forever. [0] https://github.com/dart-lang/angular/pull/1892 https://github.com/dart-lang/angular/pull/1892
- akerro 6y ago>It's the best multi-platform solution for mobile They announced beta version for Windows in the last few weeks, so what to expect? I've been using it on linux desktop for 4 months so far, there were many problems, but it's absolutely the best framework so far. It's miles ahead of Qt (which I've been programming in since 2010). Dart and flutter are just years ahead of Java, C#, Qt and React Native in terms of positive programmer experience, productivity, good looking UI. There are so many bad things to say too, but all I can think about are only due to immature ecosystem, but that's changing literally daily.
- brnt 6y agoHoe is it ahead of Qt (on desktop)?
- heavyset_go 6y agoI'm wondering this, too. While I enjoy Flutter, it doesn't hold a candle to the extensive Qt library and QML.
- pjmlp 6y agoSpecially to the graphical designer tools, or the quality of third party component libraries.
- akerro 6y agoI wrote it's more pleasant to be used by programmers by giving better experience, then I wrote it's ecosystem is immature, but growing. As of now, it has its better and worse sides.
- rowanG077 6y agoDart is the reason I don't like flutter. Why do you feel C# is worse then Dart?
- satvikpendem 6y agoDart is...fine. The real value comes in its code generation features, which enable packages to add whatever language features they want even if the language maintainers don't (yet), such as algebraic data types, functional programming features, etc. You can argue this as being good or bad for future maintenance but it's nice to have the ability to add to the language.
- bepvte 6y agoFlutter only falls back on the canvas, it avoids using anything but html elements if it can. Fancy animations tend to resort to the canvas
- reactchain 6y agoFlutter for web feels like going back to the .net "webforms" days, where you could supposedly build a web app the same way as a desktop one and the whole client-server thing was abstracted away. Except it sucked, I still have nightmares about viewstate. Seeing Flutter apps that render everything to canvas feels similar. Developing once for iOS and Android seems obvious and doable, but extending that to the web is a different game.
- pjmlp 6y agoWelcome to WebAssembly + WebGL future.
- nightowl_games 6y agoI am a believer!
- pjmlp 6y agoThe irony is that with WebAssembly maturing, we will have the revenge of plugins, and stuff like Flash is already being brought back, but hey now it is a standard browser feature.
- reactchain 6y agoI think the goal of running native speed compiled-ish code on the browser in a sandboxed way would be great if it worked. CSS and HTML for "apps" has always seemed like a hack to me. The problem is every single attempt to do this in the past has resulted in a bloated mess. Maybe this time will be different...
- jamil7 6y ago> Developing once for iOS and Android seems obvious and doable After shipping an app in it this year I've become a big fan of Kotlin Native, you can do enough code sharing to take the edge of doing two apps as a solo dev while having very little friction to access native views and APIs. The two apps feel like platform citizens on each OS but I have networking, persistence, utils and state management shared between them.