Live data from Hacker News

Deno Desktop

docs.deno.com

191–200 of 418 posts

Re: Deno Desktop

#191

As much as I like cross-platform stuff, I also really like native UIs that follow native UX patterns, etc.

In practice it's much harder to maintain a native app. I am noticing this with ChatGPT Mac app vs. Codex Mac app. ChatGPT on Mac is constantly behind compared the web ChatGPT while Codex is shipping features at a much higher velocity.

Also ChatGPT hangs and has more weird bugs compared to Codex.

Re: Deno Desktop

#192
post #57

Earlier quoted context omitted.

That’s why HN users constantly advocate for Vim, a program in which every single thing works completely differently from every other modern application.

Yes, if there's one lesson from historical UI research that still holds, it's that mode switching is expensive. That's why people install vi plugins everywhere. Wait...

Vi plugins don’t even exist for the vast majority of applications.

Re: Deno Desktop

#193

I don't get the point of this. The world is trying to make computers faster and more accessible, more web UI slop isn't going to help that. Dumping Javascript entirely is the first step on that road.

You should try the last few Xcode versions some time. As far as I'm aware there's not a single line of Javascript in it, and all UI is 'native' (whatever that means these days), and the whole experience is such a janky and laggy mess that even VSCode feels slick.

It's trivial to write slow UI application in any tech stack, and just being 'native' really means nothing nowadays.

Re: Deno Desktop

#194
post #66

> Shared CEF runtime across apps. Every app currently bundles its own CEF copy. A managed shared runtime would drop binary sizes to a few MB per app. On the roadmap. This[0] sounds interesting. I am not familiar with CEF, so I wonder how the versioning works. When different apps require different versions of CEF, do we just essentially end up with the electron model where every app bundles their own browser (just sli…

Web devs are used to their target being evergreen, so I suppose you could opt in or out of that model: "just give me what you got".

True for this decade, but in the previous decade it was very much the opposite. Before you used any kind of browser api or nice language feature you would feature-detect it:

    if (typeof Array.prototype.includes === ‘undefined’) { …
And if it wasn’t there you would define it yourself, it was called “polyfilling”. This was so commonplace that we built significant tooling like babel to standardize feature detection tests and fallback implementations - for a few years you could write

    request.then(response => response.json())
And behind the scenes the Rube Goldberg machine would turn this into something that would run in a JavaScript environment that had neither arrow functions nor promises.

Re: Deno Desktop

#195
post #125
post #75

Earlier quoted context omitted.

Who cares if it looks native? Native UIs change all the time too and not always for the better.

Change over time is something different from apps looking vastly different at any given time.

Unfortunately nowadays even the built-in apps on the major desktop OSes are inconsistent, so the temptation for third-party apps not to care is somewhat understandable.

Re: Deno Desktop

#196
post #175

Earlier quoted context omitted.

We were writing and shipping desktop applications with it back in the nineties. Although many of the arguments against it were similar to the arguments against Electron today.

I think the UI look and feel was very ugly for many users and that caused its demise. The cross platform skin was ugly. The native skins were in the uncanny valley. The framework was reasonably good for its time. By the time good looking UI frameworks came, the bad reputation was already set.

Even the later JavaFX was a tasteless exercise. I opened some apps and you could tell within 1 second that something was wrong because all the text was using fugly non-platform-native (or somehow screwed up) text rendering.

Re: Deno Desktop

#197
post #115
post #55

Earlier quoted context omitted.

Which native framework? Even in a "post-vibe code" era I wouldn't want to create multiple versions of the same app, and none of the "platform-native" GUI toolkits run on everything. SwiftUI is apple-only, gtk has pretty bad compatibility on non-linux, qt is decent but requires C++ or python, and even so still not much for mobile. Don't even get started on "Windows frameworks", because as I write this sentence they ma…

> if you want a truly universal UI Right. If you want your app to look the same, custom way, ditching what the OS has to offer. Some developers still believe an operating system has useful UI components and patterns worth adopting. From this thread it's clear that there's plenty who don't. Personally I view that as a regression.

Well, maybe Java's AWT has been correct all this time.

Of course there is value in having "OS-native" buttons, transitions, windows etc. And many parts of GUIs are basically standardized. The problem is all the parts that are not, and have to look the same everywhere.

Re: Deno Desktop

#198
post #95

Earlier quoted context omitted.

Deno also just strips the type annotations when running TS code - at least by default. To get type checking you'll need to run via `deno run --check`, or use the separate `deno check` subcommand. No big deal since type checking and linting usually happens automatically in the IDE during development.

Good to know. Does it also preclude features like enums?

Huh, I was going to mention Node's `--experimental-transform-types`, but that was completely removed in v26: https://github.com/nodejs/node/pull/61803

Re: Deno Desktop

#199
post #66

> Shared CEF runtime across apps. Every app currently bundles its own CEF copy. A managed shared runtime would drop binary sizes to a few MB per app. On the roadmap. This[0] sounds interesting. I am not familiar with CEF, so I wonder how the versioning works. When different apps require different versions of CEF, do we just essentially end up with the electron model where every app bundles their own browser (just sli…

I'd prefer if it just used the system webview rather than downloading and managing an embedded browser itself. Webview2 on Windows for example.

Re: Deno Desktop

#200
what happens when two apps need different cef versions? doesn't that just mean you're back to bundling your own browser anyway. does the shared runtime actually save memory when the underlying chrome versions diverge?
Post reply on HN