Live data from Hacker News

Flutter desktop isn’t there yet

plei.one

221–230 of 242 posts

Re: Flutter desktop isn’t there yet

#221

I've written a few Flutter apps. The problem is dart is just not a good language and not something you'd want to use in 2023. The Flutter team should consider unpegging from dart and utilize JavaScript/Typescript, Kotlin, or Swift. We've been telling Dart team our complaints but they have been unaddressed for over 8 years now. At this point, some other thoughts include applying a garbage collection cycle and have the…

> The Flutter team should consider unpegging from dart and utilize JavaScript/Typescript, Kotlin, or Swift.

why would they do that, dart is better than all those languages except for maybe swift.

Re: Flutter desktop isn’t there yet

#222

As someone shipping an app across all desktop and mobile platforms with flutter, binding it into a native rust library, I absolutely adore it. It does what I need and is fairly reliable about it everywhere, while keeping build systems and everything else mostly managed for me. As the post mentions, it’s not a panacea, but for someone who needs a good-enough solution, it’s been great.

What are you using to do the rust bindings?

Re: Flutter desktop isn’t there yet

#223
post #6

For me, Flutter mobile isn't there yet either. I can see where it might be great for games with completely custom UIs, but I find the uncanny valley of pretend native controls a very uncomfortable place to be. Flutter could be a fantastic solution if it supported native controls and used JavaScript. I don't understand why Flutter's creators are so seemingly religious about Dart and reimplementing OS UI capabilities.

> I don't understand why Flutter's creators are so seemingly religious about Dart

I think Dart's history might be relevant here. Flutter was unveiled at a 2015 Dart programmer conference (https://www.youtube.com/watch?v=PnIWl33YMwA) and it was originally called Sky. Dart doesn't exist because of Flutter, it's the other way around.

Dart was originally intended to be a replacement for Javascript back in 2011, but it utterly failed to gain any adoption because about a year later in 2012, Typescript came out. Typescript being a superset of JavaScript I think completely destroyed any chance Dart could catch on for its original web development goals, since you didn't have to dump JS entirely, just rename .js to .ts and gradually start type-hinting code. Even within Google, they abandoned Dart for Angular and went all in with Typescript.

In a way it's refreshing to see Google re-tool an existing language, rather than invent a whole new langauge for cross platform app development, seeing how often as a company, they kill off projects quickly and start whole new ones.

Re: Flutter desktop isn’t there yet

#224
Ok, it's isn't "there" just yet, so what? They are working on it and doing a great job so far. It's not perfect, but nothing is.

I has saved me and my team countless months so far in time to ship a truly cross platform product and I'm sure there are many others like us who feel the same.

Re: Flutter desktop isn’t there yet

#225

Earlier quoted context omitted.

Java had AoT compilers for more than 20 years, https://en.wikipedia.org/wiki/Excelsior_JET If Google really wanted they could have wrote one.

The fact that Excelsior is dead probably says something. There are AoT compilers for Java, but I'm not aware of any successful widely-used ones. Java and the Java ecosystem rely pretty heavily on class loaders and reflection which make AoT compilation very difficult. Java in its bones is designed to be a JIT VM language and you'll always be going against the grain if you try to statically compile it. Dart was also in…

GraalVM native is quite a big thing nowadays, and reflection is not really a problem for AOT, class loading is more so, but that is easily solvable by assuming a closed world (the way Graal does it). So you just simply list all the classes you plan to reflect on/load and that’s it.

> Languages are not all interchangeable and some languages are better suited for certain implementation strategies than others

Sure, but I don’t claim to replace SQL or Prolog with Java, but a regular old managed language which has zero unique features that would give it a reason to exist.

Re: Flutter desktop isn’t there yet

#226

Last year, I built a desktop app with Flutter with native-looking UI, for both macOS and Windows: https://blog.whidev.com/native-looking-desktop-app-with-flut... Indeed, multi-window support is absolutely missing right now, but it's the Flutter's team top priority. Context menus are now available with 3.7. Generally, I found Flutter/Dart easy to pick up and build a quality desktop app with ease. Currently, I am not c…

Not having any experience at all using Flutter, nor do I have any interest in doing so - just wanted to say that your blog article was a fun read. Thank you for sharing! :)

Re: Flutter desktop isn’t there yet

#227
post #6

For me, Flutter mobile isn't there yet either. I can see where it might be great for games with completely custom UIs, but I find the uncanny valley of pretend native controls a very uncomfortable place to be. Flutter could be a fantastic solution if it supported native controls and used JavaScript. I don't understand why Flutter's creators are so seemingly religious about Dart and reimplementing OS UI capabilities.

Every technology is a set of tradeoffs, including Flutter. For me -- I am using Flutter to build internal productivity tools available on multiple platforms (web, desktop, mobile). Users do not necessarily care if the application looks pixel perfect (but, still, Flutter is definitively an improvement from Oracle Forms :) What users and the management does care, on the other hand, is that the features can be delivered…

> For me -- I am using Flutter to build internal productivity tools available on multiple platforms (web, desktop, mobile). Users do not necessarily care

Have you measured it, or did you stop after the Form A Hypothesis step?

Re: Flutter desktop isn’t there yet

#228
post #136
post #6

For me, Flutter mobile isn't there yet either. I can see where it might be great for games with completely custom UIs, but I find the uncanny valley of pretend native controls a very uncomfortable place to be. Flutter could be a fantastic solution if it supported native controls and used JavaScript. I don't understand why Flutter's creators are so seemingly religious about Dart and reimplementing OS UI capabilities.

I thank the flutter team very very much for not using JS. We're already overflown with this stuff and a bit of variety and competition cannot hurt. I personally dislike the whole JS ecosystem with a passion, and feel I'm not alone in this, so having an alternative is warmly welcome

> I personally dislike the whole JS ecosystem

Are you sure? The "whole JS ecosystem" you're aware of is likely to be the trendy (e.g. NodeJS+NPM) one*, which bears indicators at just about every turn that many/most of the folks working in it don't actually like the language themselves which results in lots of their energy being spent trying to fight with it which in turn produces the sorts of things that I'm guessing you like least. (For example: `package.json` is a tastemakers' invention and didn't appear anywhere in the spec.) This gives a skewed impression of what JS really even is; the dominant culture you see on GitHub is not the inevitable outcome of settling on a decision to standardize on JS.

(This isn't to say that the suggestion from the original comment you're replying to was a realistic/reasonable one in context.)

* in other words, not the "whole" JS ecosystem—you probably aren't looking at use of JS in, say, Gnome for example

Re: Flutter desktop isn’t there yet

#229
post #136

Earlier quoted context omitted.

I thank the flutter team very very much for not using JS. We're already overflown with this stuff and a bit of variety and competition cannot hurt. I personally dislike the whole JS ecosystem with a passion, and feel I'm not alone in this, so having an alternative is warmly welcome

You're definitely not alone in this. One of the core reasons my team chose Flutter was the fact we would not have to spend much time setting up development environments and making sure we were always using the latest and greatest framework.

Odd thing to say, since you definitely have to set up a Flutter/Dart development environment—you don't just get it for free.

The only real way to escape this at all is to settle on the browser as your runtime, so there's a certain irony to what you're saying.

Re: Flutter desktop isn’t there yet

#230
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…

You only need to look to SwiftUI to realize that this is false.

SwiftUI has a lot of problems, but Apple has done great work building components and paradigms that adapt to the target device.

For example, check out how forms are defined: https://developer.apple.com/videos/play/wwdc2022/10052/

Defining an interface this way saves time for developers and provides consistency to users who use apps across different devices.

Post reply on HN