Live data from Hacker News

Flutter desktop isn’t there yet

plei.one

41–50 of 242 posts

Re: Flutter desktop isn’t there yet

#41
post #33

Earlier quoted context omitted.

It really depends on what the app you're developing requires. My app is just a few buttons for inputting data. I don't need context menus, multiple monitors or text selection. Thanks for the downvote though.

The fact that it happens to fit your limited needs doesn’t mean that it’s suitable for general desktop development.

Although true, HTML doesn't let you customize context menus or (easily) open multiple windows either, and UI interactions frequently lag, but it's used for general desktop development all the time. These issues seem to be more that describing something as for desktop development raises the bar fairly significantly in terms of expected feature set. That's reasonable, but we should be careful in describing something as unsuitable because it lacks things HTML also lacks.

Re: Flutter desktop isn’t there yet

#42
post #23

To me as someone who recently got into Flutter to make a side-project (mobile game) the most glaring problem isn't the lack of ecosystem or little UI issues the author mentions but the language itself. You had a green field to make the best programming language for creating UIs and you made Dart? Like what. I don't have particular issue with the heavy OOP paradigm but the fact you have to write so much boilerplate fe…

They've answered why Dart many times. It's a language that fits their needs, since it has JIT, AOT, compilation to JS and now WASM. Back then there weren't many languages that could do all that, and even today there aren't many. Kotlin (and other JVM languages) and TypeScript (and other compile-to-JS-only languages) are already out since they are not AOT, only JIT even now.

More importantly, it was a Google language that they could mold for their own needs, not so possible if it's an outside language like TypeScript. For example, early on, they asked the Dart team to create an AOT compiler since Apple does not allow JITted code apparently (not sure how React Native gets around this then), or maybe it didn't back then, and the Dart team was able to do it successfully for the Flutter team. Try asking the TypeScript team to do the same, it's next to impossible.

For what it's worth, Dart 3+ introduces more functional parts like records, patterns, and exhaustive pattern matching so you can use it in a functional style if you want once that ships. There is also fpdart, for full functional support, and for brevity of code, since Dart has the ability to generate code via macros (with build_runner), you can also use packages like functional_widget, flutter_hooks etc to achieve a very functional code style as well, React-like.

This is a great podcast/video episode on how Flutter came to be, from the early days to now, and how it used JS in the beginning but it didn't serve their needs, as well as how it used to be more imperative until a declarative React-like model was then made.

https://www.youtube.com/watch?v=xqGAC5QCYuQ

Re: Flutter desktop isn’t there yet

#43
Hello, I'm from the Flutter desktop team. Thank you for the excellent feedback, this is truly invaluable.

Here are some updates from our side:

1. Custom context menus - We just added this feature in Flutter 3.7, which was released two weeks ago. Please give this a try and let us know what you think!

2. Multi-window - This is a high priority for the Flutter team, we have several engineers working on this project currently. Here's a video that gives an early preview on multi-window support: https://www.youtube.com/watch?v=vtB-teu57vw

Feel free to let us know if you have additional feedback; this helps us prioritize on what's most valuable for our community!

Re: Flutter desktop isn’t there yet

#44

The basic functionality of the typical UI hasnt changed for ages. Yet technologies keep churning. There is probably a better way but apparently people are not incentivised to find it.

Ages indeed. And how sad and frustrating. The best cross-platform app framework is one that I used in 1990.

Re: Flutter desktop isn’t there yet

#45
post #33

Earlier quoted context omitted.

The fact that it happens to fit your limited needs doesn’t mean that it’s suitable for general desktop development.

Although true, HTML doesn't let you customize context menus or (easily) open multiple windows either, and UI interactions frequently lag, but it's used for general desktop development all the time. These issues seem to be more that describing something as for desktop development raises the bar fairly significantly in terms of expected feature set. That's reasonable, but we should be careful in describing something as…

FWIW, I don’t consider web applications to be a suitable replacement for native desktop applications, not the least because they lack support for desktop UI conventions, which do exist for a reason; although it is true that many people nevertheless make do with web apps.

Re: Flutter desktop isn’t there yet

#46
post #23

To me as someone who recently got into Flutter to make a side-project (mobile game) the most glaring problem isn't the lack of ecosystem or little UI issues the author mentions but the language itself. You had a green field to make the best programming language for creating UIs and you made Dart? Like what. I don't have particular issue with the heavy OOP paradigm but the fact you have to write so much boilerplate fe…

They've answered why Dart many times. It's a language that fits their needs, since it has JIT, AOT, compilation to JS and now WASM. Back then there weren't many languages that could do all that, and even today there aren't many. Kotlin (and other JVM languages) and TypeScript (and other compile-to-JS-only languages) are already out since they are not AOT, only JIT even now. More importantly, it was a Google language…

> since Apple does not allow JITted code apparently (not sure how React Native gets around this then)

With React Native you have two options. Use Apple's own JavaScriptCore engine which has special JIT permissions, or use Meta's Hermes engine which runs as a bytecode interpreter.

In either case you can always drop down to native code (Swift/Objective-C (iOS), Kotlin/Java (android), or C/C++ (any platform)) which can be used for anything compute heavy.

Re: Flutter desktop isn’t there yet

#47

Earlier quoted context omitted.

They didn’t create Dart for UI. It was dead and they shoehorned it into Flutter.

Considering that Dart was made to run in browsers, they did in fact. The APIs the OP are complaining about are Flutter's not Dart's. Flutter tried to do a vdom-like thing that also included styling on top of regular function call syntax and it is... what it is.

The style of writing the UI code takes some time to get used to, but the composability is really nice. For example, if I want to center something, I use Center and it works as I predicted. If I want to change the opacity of something, I don't need to find the opacity property of a particular widget, I can just...use Opacity, and it'll work for everything.

This style is a way to have (extreme) composition over inheritance, which apparently was very useful for the framework authors who mentioned that they didn't need to keep reimplementing opacity for example for every single widget.

Re: Flutter desktop isn’t there yet

#48

Another one, desktop webviews don't exist either. Everyone does something custom right now and there's an epic vent fest in one of their GitHub issues. This causes about 1 new package to get released every few months too that tries to address it.

Hello, I'm from the Flutter desktop team. We're actively working on adding platform views to desktop, which will allow you to embed web views into your Flutter application. Stay tuned :)

Re: Flutter desktop isn’t there yet

#49
post #38

I recently tried to use Flutter to develop a Windows desktop app, and I hit a wall. Unfortunately I'm using an arm64 machine, and I ran into enough mysterious errors that I just gave up.

Hello, I'm from the Flutter desktop team. We're actively working on Windows ARM64 support, this should be coming soon! Stay tuned :)

Re: Flutter desktop isn’t there yet

#50
post #17

The more "solutions" that are developed for desktop + mobile cross-platform applications, the more I see highlighted how different the paradigms are, and how the streams really shouldn't be crossed. They're both UIs viewed on a screen that you interact with by pointing and clicking, but the similarities end there. The entire output of this cross-platform effort has been awkward applications that run everywhere but fe…

If you have the money, make everything native, but until then I can build a Flutter app that works on 6+ platforms for the price of one, which is a real competitive advantage for a solo developer running a startup.
Post reply on HN