Live data from Hacker News

Flutter 3

docs.flutter.dev

191–200 of 453 posts

Re: Flutter 3

#191

Earlier quoted context omitted.

> is the only realistic option for true cross platform UIs that run everywhere wtf.. Ionic/electron is the true cross platform, no debate. Flutter web is dog shit.

Ionic is pretty awful too, though I can't fault them. It's just that papering a web interface on top of a native app is gonna be a poor experience no matter what.

I don't think that's how Ionic developers would describe it today. Have you actually used it or Capacitor recently? The quality of apps being built on the platform has never been higher. (one random example: https://reflect.app)

Re: Flutter 3

#192

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 quite like Dart. I can't remember what they're called, but I remember it has something that lets you declare a stream (actually, maybe that's what it's called) that I thought was pretty ergonomic.

Re: Flutter 3

#193
post #165

Earlier quoted context omitted.

Here’s one from Google https://pub.dev/packages/functions_framework

> Google Cloud Functions does not currently provide an officially supported Dart language runtime, but we're working to make running on Google Cloud Run as seamless and symmetric an experience as possible for your Dart Functions Framework projects. It's not natively supported - runs on Google Cloud Run instead.

I’m not sure what you think cloud functions runs on under the hood? But it’s cloud run.

You said there were no good backend solutions for serverless functions and I’m telling you that is incorrect.

I’ve done a bunch myself, it was actually really pleasant.

Re: Flutter 3

#195

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,…

> Apart from Qt , but the licensing issue is a hindrance.

Most of Qt is available under the LGPL. Some application specific libraries are available under the GPL, but there's no reason you'd need to use them unless you have special use cases that their libraries would make easier to handle.

> 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.

Agreed, I figured that was the direction Flutter was going to go, with wrapper APIs for other languages, but it seems it never happened.

Dart is okay, but it's not a language I'd choose to write anything in. The only reason to use it is because of Flutter, as you've said.

In practice, it isn't just UI code that ends up getting written in Dart + Flutter, but the entire application and client code, excluding things like REST backends.

With Qt's QML, you're very much just writing UIs in QML and JavaScript, leaving a clean separation between the UI, core, and application and client code.

Re: Flutter 3

#196
post #154

Earlier quoted context omitted.

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).

Do you have tests that run on your host machine, can start an API server and interact with it, and also drive the Flutter app? Or do your tests run on the mobile device?

The tests run on the mobile device, or rather mostly the emulator. No API server to interact with (and I would not know why?). The shop uses integration tests for three things: 1. Testing some migrations 2. Click through the app, as part of a release checklist 3. Run crypto operation to check multiple plugins for continued compatibility.

Re: Flutter 3

#197
post #174

Earlier quoted context omitted.

The Facebook app is not written in React Native. They tried it and famously abandoned it no?

The Marketplace tab in the FB app is written in React Native. The Ads Manager app is written in React Native. The Instagram app is written in React Native. The entire FB app is not written in React Native yet, but overtime I'd expect more things to be. The statement that FB "abandoned react native on mobile" is demonstrably false.

It seems unlikely that FB would give up on Litho, which is extremely performance focused, to use react native instead. Not for their bread & butter flagship news feed anyway https://fblitho.com/

Re: Flutter 3

#198

Earlier quoted context omitted.

I thought I would hate Dart since it seems like such a bland language but after working in it for a year and a half its easily one of my favorites. Its straightforward and tailored directly for Flutter's use-cases. It feels like it doesn't come with a lot of the baggage you get with other, longer-lived languages. It is also incredibly readable without hiding how it works behind decades of syntactic sugar. All that to…

I was enjoying the frog book (The Dart Programming Language, Gilad Bracha & Erik Meiker) but that was 2015, and now very out of date. Its strange to see there is no up to date book from major publisher, like the Rust book at https://doc.rust-lang.org/book/

The incentive structures around technical books are pretty weird.

Most major publishers pay quite small royalty rates, so even a popular tech book won't actually make the author much money. And the effort to write a good technical book is pretty huge. Also, the set of people who will actually finish writing a book is quite a bit smaller than the set of people who aspire to. (An editor at O'Reilly told me once that only about 1/3 of the authors they sign deals with actually end up finishing the book.)

So for a book to appear, you need to find someone who:

1. Knows this particular topic in depth.

2. Is interested in spending a lot of time writing a book about it.

3. For relatively little money in return.

4. And actually has the discipline to finish it.

Not a lot of people in that set. It's also particularly hard for technologies that are in flux since the quicker the book gets out of date, the less value there is in writing it.

Re: Flutter 3

#199

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.

I’ve encountered a Flutter web app exactly once, https://app.travellerdeclaration.govt.nz/. It was very painful. (Part of the pain was related to them using a selectable-button style for radio buttons, which isn’t entirely Flutter’s fault, though I bet it contributed to that misguided decision; but when there’s no scrollbar and the Yes/No button you clicked is at the very bottom of the visible page—well, that was the position.) When I filled it out last year, they had an alternative, vastly better accessible version that I think didn’t even require JavaScript, though good luck finding it, since it was accessed by an invisible button that Flutter event handling made unfocusable. Now that button sets a flag in sessionStorage and reloads, and on startup checks for the flag and sets flutterWebRenderer = "html", so that at least the content is in the accessibility tree, even if they still badly reimplement half the stuff the browser provides manually (links, focus, scrolling, they even damage bits of IME).

Re: Flutter 3

#200
post #151
post #146

Earlier quoted context omitted.

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.

Rust -> ='[
Post reply on HN