Live data from Hacker News

Flutter 3

docs.flutter.dev

71–80 of 453 posts

Re: Flutter 3

#71

I have an irrational annoyance when projects claim to support "desktop UI" but then only have the most trivial of widgets commonly used in desktop applications. Where is my tree view? Data grid view? Charts? Native file dialog window? From my perspective, while I'm sure Flutter is wonderful, it fits squarely in the "mobile" UI toolkit and "basic" desktop application category.

Hey there! I work on Flutter for desktop. I'm happy to provide a little background.

We made a decision early on to focus where those of us who work on Flutter could deliver the most value, and for Desktop that meant getting the runtimes and platform integration for each of the desktop OSes in good shape (international text input, accessibility support, rendering performance, etc.) as well as core integrations like the menu bar, file chooser dialogs, etc. These are things that need to land in the runtime itself and are significantly more painful for the community to contribute, or author and publish on pub.dev.

We're working on filling in the gaps for widgets that are part of the Material spec, and I expect the community to make and publish widgets on pub.dev that continue to surprise me; I'm blown away time and time again at the beautiful widgets and the community continues to produce either in packages or as pull requests. You should be able to find community-authored packages for treeview, datagrid, and charting on pub.dev today in the meantime.

Re: Flutter 3

#72
post #45

I have an irrational annoyance when projects claim to support "desktop UI" but then only have the most trivial of widgets commonly used in desktop applications. Where is my tree view? Data grid view? Charts? Native file dialog window? From my perspective, while I'm sure Flutter is wonderful, it fits squarely in the "mobile" UI toolkit and "basic" desktop application category.

I'd love to see a "Back to the Future" desktop UI toolkit that has roughly the capabilities of AppKit circa 2003 but in a modern language, clean unified API, cross-platform, with seamless native UI integration, and of course not carrying hundreds of megabytes of Chromium gunk in each app like Electron does.

That would be wonderful. AppKit is the closest to perfect I've found in desktop UI frameworks. If it took some of the improvements found in UIKit and was cross platform I'd never use anything else.

Re: Flutter 3

#74

We have a react native app and sometimes it fails to build. We go to lunch, and come back no code change now it builds. I'm just sick of the NPM/Javascript bullshit. Does Flutter avoid all of these kinds of issues? I'm this close to scrapping the whole thing.

I worked with React Native for 3 years before jumping over to Flutter and this was the biggest reason why I made the switch. Its exponentially better on Flutter. The only time builds break for the team are when we made a code change that broke it. Its consistent and non-flaky (looking at you RN). Not that you won't run into the occasional issue but with React Native easily 20% of my time developing was "this just stopped working and there's no reason why". React Native was configuration hell. With Flutter, I haven't struggled with that at all past the initial setup.

Re: Flutter 3

#75

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 lang, and due to the language popularity there's a lot less community/3rd party deps available.

I really tried hard to give it a fair shake back in the day but I just ended up sticking with Node (and now +Deno), Typescript, or Go if I need performance/types. There are way better ecosystems around these and I find the tooling/ergonomics much less awkward. Also, if/when I need to hire devs onto my teams I will have a much easier time.

Also, I can actually write a serverless function in these tools (GCP Functions, AWS Lambda) - as far as I know there's nothing like this available for Dart.

---

EDIT: It's worth mentioning I've only had Dart jammed down my throat on the backend (API's, data transforms, jobservers, etc). It may be a fine tool in regards with Flutter, but it felt like a really awkward tool for where it's come up in my career.

Re: Flutter 3

#76
post #60

I have an irrational annoyance when projects claim to support "desktop UI" but then only have the most trivial of widgets commonly used in desktop applications. Where is my tree view? Data grid view? Charts? Native file dialog window? From my perspective, while I'm sure Flutter is wonderful, it fits squarely in the "mobile" UI toolkit and "basic" desktop application category.

I think a tree view was promised (listed on a presentation) when Flutter 2.0 was released, but no details were provided, and I haven't heard of it ever since.

You might be thinking of this package, authored by Google, mostly by people on the Flutter team but it's not an official Flutter project (as far as I know): https://pub.dev/packages/flutter_simple_treeview

(Disclaimer: I work on the Flutter team.)

Re: Flutter 3

#77
post #3

did they fix the scrolling on iOS?

Yet another reason to avoid cross platform frameworks. They are always catching up to the vendor’s capabilities.

That is a reason to avoid cross platform frameworks. But there are big reasons in favour of using then as well. It's a trade-off depending on your use case.

Re: Flutter 3

#78
post #56
post #27

Flutter 3 comes with an upgrade to Dart 2.17 [1], which has quite a few improvements as well... including state on enums. While that's great, I was hoping it would be like in Rust, where each enum variant can declare its own state components, but unfortunately it seems to be more like Java: same state for all variants. Well, at least there's quite a few other small but useful improvements... and they showed how they…

> While that's great, I was hoping it would be like in Rust, where each enum variant can declare its own state components, but unfortunately it seems to be more like Java: same state for all variants. As much as I like Rust’s enums, I think they messed up on the naming. Java (and according to your comment, Dart) gets enum rights. What Rust has under this name is sum types, which is a separate (more expressive) concep…

There is no real reason to have basic enums if you have ADTs , since those can easily provide everything a plain enum gives you.

I guess the name was just a historical artifact.

Re: Flutter 3

#79

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

they got clojuredart now, which is still kind of a fly-by-night thing but those Roam Research peeps are apparently using it in production

https://github.com/Tensegritics/ClojureDart

(and in turn, clojure itself is a highly opinionated thing which isn't gonna turn into a blub that everyone uses...)

Re: Flutter 3

#80

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, so it would be usable from other languages.

Any chance that someone will build a transpiler from e.g. Go or even Rust to Dart? Or is Dart too exotic to be used like that in a practical way?

Post reply on HN