Live data from Hacker News

Flutter 3

docs.flutter.dev

151–160 of 453 posts

Re: Flutter 3

#151
post #146

Despite many maturity issues in practice Flutter is the only realistic option for true cross platform UIs that run everywhere. Apart from Qt , but the licensing issue is a hindrance. And yes, the web backend isn't ideal, but it will improve over time. I just wish Google had built Flutter on a low level core that isn't tied to Dart, so it would be usable from other languages. Dart isn't horrible and is getting better,…

For what it’s worth Dart is hands down the nicest OOP language I’ve ever used in my opinion. It’s like they took all the good things about JS and Java and cut out all the bad parts. What’s left is basically Dart.

I think the decision of which cross platform technology to use mostly depends on a team's preferred tech stack.

C++ -> QT

C#/.NET -> MAUI/Blazor

JS/Web -> React.Native/Electron

Dart -> Flutter

This is what I think is holding back Flutter -- that it wasn't built on an incumbent technology. Because Dart doesn't have quite the following, it has to evangelize itself a bit more than the other options.

Re: Flutter 3

#152

Earlier quoted context omitted.

I still maintain that Flutter Web is not production ready. It could have a nice niche, like games. But for real apps, it's just not as good as web. They are still re-implementing things that have existed in the web for ages, and are not going to be able to keep up. It's basically good for an applet style usage IMO. I'll keep trying it out, I think Flutter is pretty great for mobile, even desktop, but every time I use…

The way it atleast used to be framed is that web is a fallback target. Meaning if the target device isn't running Linux, Windows, macOS, iOS or Android (unlikely), then hey, you can atleast build a passable version that will run in a browser. I don't know if this has changed, but I know only a mad man would try to build a proper website in Flutter. It's not the tool for the job.

No, it is 100% being framed as "You can build your app once and deploy it everywhere" with everywhere including web. It's sorta maddening, IMO. There are certain types of apps I could see using Flutter for (basically, ones that would lean heavily on canvas anyways, games, drawing, etc.)

Re: Flutter 3

#153

Google Flutter Team: You launched Flutter Desktop and got your promotions. Now can you please go back and finish Flutter Mobile? Specifically, please add: - Integration testing [0, 1] - Location [2] - iOS dark mode [3, 4] - iOS keyboard dismiss decoration [5] - iOS keyboard scroll-to-dismiss mode [6] - iOS NavigationLink widget [7] - iOS checkbox widget [7] - Android camera that doesn't randomly crash (unfixed for 3…

I think a lot of these comments are not necessarily valid or have been addressed already and we've lost the actual productive feedback in the mess. - Integration testing - This exists and is very commonly used: https://docs.flutter.dev/cookbook/testing/integration/introd... - Location - This 100% should be a core offering, its crazy that its not for mobile application. - iOS dark mode - Flutter supports Dark Mode - h…

Integration testing supports only running tests inside the device. If your test needs to start an API server, then you must use the deprecated and broken flutter_driver module. See the bug I linked.

Flutter's Cupertino dark mode support is broken. Some text is invisible. Some widgets are unusable. Cupertino Dark mode theme support is completely absent. See the bug I filed, with a comprehensive reproduction with screenshots. It's like the dev who added it just decided to stop half-way.

> - iOS keyboard scroll-to-dismiss mode - This is trivial to setup, just listen on scroll and hide keyboard. You could even create a generic handler that can be reused everywhere for this.

Please use an iOS device and notice how nicely one can dismiss the keyboard in iMessage, FB Messenger, Instagram, etc. Getting that behavior in Flutter requires using a third-party package.

The Material date picker is not a date-time picker. Letting the user pick a date & time requires a lot of extra code. For example, I spent many hours writing a widget that displays the date & time and lets one click to change it, like in Google Calendar.

See the bugs I linked about Navigator. The docs have multiple omissions. I lost a day and a half on them.

Yes, you can debug tasks with a breakpoint. You cannot see which async tasks are running. You cannot pause a task. I needed to debug concurrent RPC problems and tried using print. Unfortunately, print provides no visibility into tasks running in standard library code, like timed-out HTTP requests that continue running.

You can timeout waiting for an HTTP request to finish, but the request still continues in the background. If it's a large upload then it can continue for minutes, draining the device's battery and transferring data. See the bug I linked.

> - Testing on physical devices for apps that use flavors - We do this regularly across 5 different flavors on both iOS and Android.

How do you install on iOS? I tried `flutter build --flavor staging --release` and then `flutter install` which fails saying that I must supply `--flavor`. But when I supply `--flavor` it says the parameter is not supported. See the bug I linked. I spent a few hours and figured out how to first do a Flutter build and then use XCode to build again, then use Devices & Simulators to manually install the archive. But this requires that I remove the app from the device first, which destroys the app state. This makes manual testing extra slow. The process is noxious.

Flutter Inspector in Android Studio on macOS breaks 1 out of 5 times I try to use it. I often waste a few minutes trying to figure out why my code changes did not have the desired change on the widget tree. Then I finally realize that the widget tree pane is broken and I need to restart Android Studio. It's been like this since 2018 through multiple upgrades of Flutter, Android Studio, and macOS.

Re: Flutter 3

#154

Google Flutter Team: You launched Flutter Desktop and got your promotions. Now can you please go back and finish Flutter Mobile? Specifically, please add: - Integration testing [0, 1] - Location [2] - iOS dark mode [3, 4] - iOS keyboard dismiss decoration [5] - iOS keyboard scroll-to-dismiss mode [6] - iOS NavigationLink widget [7] - iOS checkbox widget [7] - Android camera that doesn't randomly crash (unfixed for 3…

I think a lot of these comments are not necessarily valid or have been addressed already and we've lost the actual productive feedback in the mess. - Integration testing - This exists and is very commonly used: https://docs.flutter.dev/cookbook/testing/integration/introd... - Location - This 100% should be a core offering, its crazy that its not for mobile application. - iOS dark mode - Flutter supports Dark Mode - h…

Just an additional note: Integration testing was indeed completely broken for a while, with the docs stating otherwise. They reworked it a few releases ago and since then it works well for us (limited usage, but completely stable for what we do with it).

Re: Flutter 3

#155

Despite many maturity issues in practice Flutter is the only realistic option for true cross platform UIs that run everywhere. Apart from Qt , but the licensing issue is a hindrance. And yes, the web backend isn't ideal, but it will improve over time. I just wish Google had built Flutter on a low level core that isn't tied to Dart, so it would be usable from other languages. Dart isn't horrible and is getting better,…

> Dart isn't horrible and is getting better, but it is still a somewhat awkward mish mash of Java and JavaScript, and I don't enjoy using it. All anecdotal: I've only met one person who was excited to work with Dart, huge Google fanatic/fanboy. Otherwise it's sorta seen as a unique language choice that makes other devs go, "oh..." The Java/ECMA ergonomics are weird, it's hard to find devs who have experience with the…

I may be missing something, but why would you want to build a serverless function in Dart? you want a common backend/frontend language?

Re: Flutter 3

#156

Despite many maturity issues in practice Flutter is the only realistic option for true cross platform UIs that run everywhere. Apart from Qt , but the licensing issue is a hindrance. And yes, the web backend isn't ideal, but it will improve over time. I just wish Google had built Flutter on a low level core that isn't tied to Dart, so it would be usable from other languages. Dart isn't horrible and is getting better,…

I disagree, Flutter is probably the worst choice. React Native is the all around best choice for targeting all platforms natively, otherwise use pure web tech (Ionic + Electron)

The desktop and web targets for Flutter are laughable in their current state. Completely unusable so I consider Flutter to be a mobile only platform at this time.

Another downside is Flutter's emulated UI, it doesn't bridge to native controls like React Native, it's noticeable on iOS especially and will be hard to maintain the fake physics / styling.

React Native is ready for production now for all platforms, including Windows & Xbox via react-native-windows, Web via react-native-web, MacOS via react-native-macos or Catalyst.

Then there's the question as to why would you choose a Google only language and framework with their track record.

With React you can use TypeScript or JS, you don't have to learn a new language or get locked into a framework.

Re: Flutter 3

#157

Despite many maturity issues in practice Flutter is the only realistic option for true cross platform UIs that run everywhere. Apart from Qt , but the licensing issue is a hindrance. And yes, the web backend isn't ideal, but it will improve over time. I just wish Google had built Flutter on a low level core that isn't tied to Dart, so it would be usable from other languages. Dart isn't horrible and is getting better,…

> I just wish Google had built Flutter on a low level core that isn't tied to Dart

Why did they tie Flutter to Dart anyway?

Re: Flutter 3

#158
post #11

I was hoping to see better HTML rendering. Using a single canvas to render web apps was my one turn off. Flutter is the right choice for many apps, but not for apps primarily accessed over the Web.

What’s wrong with using a single canvas? It can be faster. Google Docs and Figma, for example, use canvas rendering

Both Google docs and figma use canvases, but neither of them renders the whole app through a canvas.

This is easy to verify - just open up dev tools and look at the DOM structure.

Re: Flutter 3

#159

Despite many maturity issues in practice Flutter is the only realistic option for true cross platform UIs that run everywhere. Apart from Qt , but the licensing issue is a hindrance. And yes, the web backend isn't ideal, but it will improve over time. I just wish Google had built Flutter on a low level core that isn't tied to Dart, so it would be usable from other languages. Dart isn't horrible and is getting better,…

I still maintain that Flutter Web is not production ready. It could have a nice niche, like games. But for real apps, it's just not as good as web. They are still re-implementing things that have existed in the web for ages, and are not going to be able to keep up. It's basically good for an applet style usage IMO. I'll keep trying it out, I think Flutter is pretty great for mobile, even desktop, but every time I use…

FWIW I kind of agree and I’m a big fan of both Flutter and the web in general.

There are a couple of web platform technologies that I think are going to take Flutter web from ok to great in the next year or two including.

WASM Garbage Collection is going to allow them to move from compiling to JS to WASM. They have already built a WASM compiler ready to go when it lands.

WebGPU is another obvious one. Flutter is by definition a canvas optimised framework rather than strictly DOM based (although they support that too as a target). But they should be able to get blazing fast canvas rendering with those two technologies alone.

The other big one that I think will help them is going to be AOM. Lots of the built in browser accessibility stuff was built for a DOM based world, the web platform needs better primitives to support canvas frameworks too.

Re: Flutter 3

#160
post #117

Despite many maturity issues in practice Flutter is the only realistic option for true cross platform UIs that run everywhere. Apart from Qt , but the licensing issue is a hindrance. And yes, the web backend isn't ideal, but it will improve over time. I just wish Google had built Flutter on a low level core that isn't tied to Dart, so it would be usable from other languages. Dart isn't horrible and is getting better,…

> Despite many maturity issues in practice Flutter is the only realistic option for true cross platform UIs that run everywhere. What are your thoughts on flutter vs react native? (assuming you're only targeting phones)

Not GP but my comparison is here:

https://news.ycombinator.com/item?id=31346887

Post reply on HN