Live data from Hacker News

Flutter desktop shells

github.com

291–300 of 322 posts

Re: Flutter desktop shells

#291

Earlier quoted context omitted.

First, I just want to say that I use Dart pretty regularly now and enjoy the language. I don't want to come across as overly negative; Dart is a solid language that's made web programming a lot more fun for me. So thank you, and everyone else on the Dart team for the hard work! I just want to address these lines: > Thousands of successful applications and a billions of lines of UI code have been written in object ori…

> I just think the analogy to arithmetic is compelling, in that a closed sum type is a more primitive notion than open ending subclassing. I agree, sum types have a real beautiful elegance. But I often wonder if that's some sort of "appeal to mathematical aesthetics" fallacy. When I see, for example, painters deciding what brushes to use, I don't see them choosing brushes whose diameter follows the Fibonacci sequence…

> Subtyping is set theory, and sets are obviously more fundamental than arithmetic! :D

In case this wasn't clear, the "arithmetic" in question is being performed on sets (or types). For example, for sum types, the number of inhabitants of the type is the sum of the inhabitants of the components. All three of addition, multiplication and subtyping are operations on sets (types). So this was a strange thing to say.

> Simplicity is a virtue because it lowers the cognitive load of a language. I don't know if mapping something to arithmetic tells us something actually profound about the productivity of a language feature, even if it gives me a little shiver of delight when I think about it.

My real point is this: if you are deciding to build a language, as far as I'm concerned, it is very strange to add multiplication (why don't structs count as multiplication? I would say they do), then not add addition and instead add something much more complicated than addition. It just doesn't make any sense. It's not about the "productivity" (how do we measure this?) of the feature, it's about it not making any sense to do this! You add multiplication, you add addition, that's really all there is to it. I don't know, I guess I'm just repeating myself now and you won't find it convincing, but to me it's like trying to defend Roman numerals after being shown the Arabic system.

> You must have an uncharitable view of those people if you presume that all of them are making a choice that goes against their own self-interest to be happy productive programmers.

I don't think so at all. It's not really a fair choice; people choose languages in order to build things, and it's easier to build things in languages that other people are using. The full range of options is not obvious to every programmer (does the average webdev even know about ML?), and most of the time there are more important concerns than whether your language has a nice theory behind it.

Re: Flutter desktop shells

#292
post #236

Earlier quoted context omitted.

In other hand, when I build something using Flutter I know end use will look at this exact pixel on whatever (android) phone used.

How much does this actually matter, though?

Generally, it matters more than you’d think. People can get subconsciously used to things (often in ways they cannot vocalize) and may feel that your software is “off”.

Re: Flutter desktop shells

#293
post #98

Earlier quoted context omitted.

In general it's just really disappointing that in 2019 the development frameworks we have available are still objectively worse in terms of developer productivity, reliability, and documentation than what we had with Microsoft Visual Basic or Borland Delphi back in 1996. I totally understand that these modern frameworks are superior when it comes to cross-platform compatibility and easy application distribution, but…

If you want what you had with Visual Basic in 1996, you're in luck: you can just use C# with winforms, which is like a much better version of VB6. Unfortunately, in 2019 cross-platform compatibility for native apps has only gotten harder (good luck supporting windows, mac, linux, android, and ios), which is why people tend to default to making web apps (or hybrid solutions using frameworks like React Native) rather t…

> which is why people tend to default to making web apps (or hybrid solutions using frameworks like React Native) rather than native apps

Not sure why people keep making the claim that native is dying. More and more people are doing their computing on their smartphones and the vast majority of the top 100 apps on both iOS and Android are built in Objective-C/Swift/Java/Kotlin. It seems to me like the main people pushing the whole web app/PWA renaissance are web developers who resent the fact that the web is dying.

Re: Flutter desktop shells

#294

Earlier quoted context omitted.

Software based on that still exists and it’s a hell to maintain.

To which I can reply 'come back in 20 years and tell me about your experience maintaining something based on npm and friends'. At least those old crufty systems had the good grace of not having a best-before date measured in weeks. They might lack many other graces but for maintainability there is something to be said for a modicum of temporal stability when it comes to development environments.

+1, would agree with again

Re: Flutter desktop shells

#295

Hot take: Who's to say Google's plan isn't to make this become big, then purposely give iphone a shittier experience just a few ms of more jank to make android look better? Think long, long term. I wouldn't trust this.

Google does something similar to push Chrome over Firefox: https://news.ycombinator.com/item?id=19669586 I don't get why you are downvoted..

Lots of google employees here, shame on them.

Re: Flutter desktop shells

#296

Earlier quoted context omitted.

> There's a reason OO and UI have been married together for decades. People repeat this a lot, that OO goes with UI, but I don't think it's actually true, and I think e.g. React Hooks and immediate mode GUI in general demonstrate that it's not true. OO has been coupled with UI out of inertia, not because OO has unique strengths when applied to UI. Sum types are a primitive language feature, akin to product types, whi…

> People repeat this a lot, that OO goes with UI, but I don't think it's actually true It is evidentially true. Thousands of successful applications and a billions of lines of UI code have been written in object oriented languages. It does work and it can't be that bad if that's continuing to happen even after the emergence of other alternatives. Whether there are better ways is a good question, but I think it's pret…

I wanna hear more open discussion about immediate & retained mode approach.

For one imgui gains traction again, especially among game developers, simply as it gives a lot for the ease of compile, understanding, compactness of code, etc. You can really build complex tools out of it.

But there is one nasty elephnant - the state, and imgui's approach is to hide it somehow - it used be behind your __LINE__ (or __COUNTER__, stack.line in some langs), or maybe part of your label points to your data, and if you've had the bad luck of having same labeled names, then there is yet another workaround, something special hidden in there.

All in all, it seems like it's missing a language feature, and we are suddenly grasping on all kinds of tweaks to achieve that.

That, .. and layout.. Layout is damn hard in immediate language. It works by magic, and then your app might crash, and lock. No I'm not kiddin...

Then again I'm but a simple user of UI toolkits, never fully written one.

Re: Flutter desktop shells

#297

Earlier quoted context omitted.

Putting aside the many resource problems with Electron apps, can you achieve the level of user experience that the Electron folks do? I see Electron devs being asked to match the slickness of an existing website with similar delivery time and productivity. You don't seem to be able to get close to that with native APIs, API frameworks, or higher-level tools without a lot of work. When you remove these UI and delivery…

My experience is that every Electron app I’ve ever tried has a terrible “user experience” compared to average competently made native Mac apps. Their core UI widgets are non-standard for the platform and are full of bugs and inconsistencies. Latency is through the roof on all sorts of common interactions. They don’t integrate well with standard expected OS features/services. They burn massive amounts of system resour…

Electron is basically "write a web app, package it with a browser, and call it a desktop app."

Ironically, Microsoft was one of the early adopters of the idea of "web technologies for desktop apps":

https://en.wikipedia.org/wiki/HTML_Application

Re: Flutter desktop shells

#298

Earlier quoted context omitted.

Putting aside the many resource problems with Electron apps, can you achieve the level of user experience that the Electron folks do? I see Electron devs being asked to match the slickness of an existing website with similar delivery time and productivity. You don't seem to be able to get close to that with native APIs, API frameworks, or higher-level tools without a lot of work. When you remove these UI and delivery…

My experience is that every Electron app I’ve ever tried has a terrible “user experience” compared to average competently made native Mac apps. Their core UI widgets are non-standard for the platform and are full of bugs and inconsistencies. Latency is through the roof on all sorts of common interactions. They don’t integrate well with standard expected OS features/services. They burn massive amounts of system resour…

I’m a company of one and I care about quality. I’ve shipped native apps for Mac, iOS and Android.

About a year ago I began work on Label LIVE, an Electron app to interface with thermal label printers. It’s not perfect but it fills a niche. It wouldn’t exist if it wasn’t for Electron. Check out the video or download and give it a try. http://label.live

Re: Flutter desktop shells

#299
post #145

Every so often for the past several years I'll go evaluate options for cross-platform desktop app development and I always come back with an enormous handful of options and all of which fall short on some measure. I would really think that this "problem" would have a great solution by now. But I think most of the developer attention is on web for obvious reasons (more ease, more conducive to mistakes/novices/etc). Ho…

As I write in https://www.reddit.com/r/rust/comments/9bapwt/thoughts_on_wh... I think the solution is to split in 2: A UI back-end with logic, layout, etc and a UI front-end renders in each UI native toolkit. So when write Button(title="hello") is NOT a widget, but a struct with data. It must be pushed to UI.Coccoa.render(button) to show up. But not only that, is possible to say: Form when(toolkit=UIKit) Field(UILabe…

That’s what ReactNative does

Re: Flutter desktop shells

#300
post #126

Earlier quoted context omitted.

You've completely ignored QML / Qt Quick here. That 's the actual best option. Though Qt Widgets in C++ isn't too bad if you use the designer instead of insisting on doing everything in code.

I heard that qml/qt quick had worse performance.

Quite the opposite, since it's GPU accelerated.
Post reply on HN