Top
Best
New

Posted by GeneralMaximus 20 hours ago

Deno Desktop(docs.deno.com)
1015 points | 368 commentspage 6
numlock86 18 hours ago|
How does this differ from electrobun, which they explicitly mention, but make no point about? I had a quick drive with deno desktop and don't see how it's better. If anything it's lacking in comparison in my opinion. But hey, we can build desktop apps with deno now, too. So they got that going I guess ...
bartlomieju 15 hours ago||
Bartek from Deno team hear. I'll love to hear what you feel is missing so we could improve `deno desktop` for more users.
actionfromafar 18 hours ago||
I think for a little while longer, you can catch bun anything, electro or not, refugeess just by not being bun.
shevy-java 16 hours ago||
I watched traditional GUIs for a while and used many of them, mostly via ruby as wrapper, sometimes also via java. I finally reached the conclusion not too long ago, that web-apps are the only real alternatives now. Too many things do not work when it comes to traditional desktop applications. There are even regressions, e. g. ruby-gtk4 barely works for me. And there is no real support for any problems really. People make fun of e. g. electron "soooo big so bloated", and WebAssembly is still not really in any breakthrough after almost 20 years. But traditional desktop apps are also even more dead. So I'll have to add JavaScript/TypeScript/Node now simply because there are no real alternatives to this anymore. I'd wish we would have a real "write once, run everywhere"...
zero-st4rs 12 hours ago||
> I'd wish we would have a real "write once, run everywhere"...

Hi! I'm trying my best okay? Hokusai Pocket might currently be composed of wood and string, but one day he will be a real boy!

calvinmorrison 16 hours ago||
Odd because I'm wrapping up an app that uses Xaw. It should run on the billion or so machines that support X11
HackerThemAll 16 hours ago||
https://docs.deno.com/runtime/desktop/#hello%2C-desktop

Yeah, hello desktop.

D:\source\DenoTest>deno desktop main.ts

error: Module not found "file:///D:/source/DenoTest/desktop".

sippeangelo 16 hours ago|

  deno desktop ships in Deno v2.9.0 and is not in a stable release yet. To try it now, run deno upgrade canary to install the canary build. The command, configuration keys, and TypeScript APIs may still change before the feature is stable.
DiabloD3 19 hours ago||
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.

flohofwoe 15 hours ago||
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.

vinkelhake 19 hours ago|||
I've seen variants of this comment for many years. The alternative to "web UI slop" would presumably be one of the many native toolkits.

I see it in a different way. The fact that "web UI slop" has managed to make great inroads on the desktop is an indictment of the state of native toolkits. If you think it's a problem that desktop apps are being written with web toolkits, the solution for that isn't to shame (as the term "web UI slop" clearly tries to do), but rather to figure out how to improve the native toolkits.

The opportunity to improve those toolkits was always there, and the ball was dropped.

kombine 18 hours ago|||
Yes, native UI toolkits are not perfect, even though I consider Qt very close to one (I'm sure naysayers will find nitpicks). In the end, the choice is between the apps that eat 1GB of your RAM and learning to deal with some idiosyncrasies of native toolkits.
bobajeff 13 hours ago||
There's also just shipping with a Web interface that opens in a browser (like Jupyter, or WebUI apps). Plus there's the option to use the system Webview like Deno Desktop (this), Tauri and Electrobun do by default.

So thankfully we can still have our REPLs with live reloading and nice documentation (MDN, W3schools etc.) and large library of embeddable UI components without most the costs of using electron.

DiabloD3 19 hours ago||||
It hasn't made any inroads on the desktop though... all anyone did was just package their own SWA into a self-contained browser that serves its own content. They continue to be websites, with all the pitfalls of them.

I don't need to spend 2GB-4GB of RAM just to have a over-glorified IRC clone!

Also, the native toolkits are fine. Windows has two toolkits, the ShellUI/MFC family (which does everything required, although it doesn't always get hidpi on legacy apps correct; it gets integration for blind people and also unicode/multilingual correct, and also works with touch interfaces), and WinUI does it more modernly (and ticks all the boxes). OSX has its toolkit, seems to nail everything correctly. Linux has Qt (lets ignore GTK for now, only reason you use GTK is if you want to appear Gnome-native), and Qt also does native++ uplifting on other toolkits (ie, native widget + additional feature expansion, plus perfect mimicry of native look for entirely new widgets), plus Qt does everything you need to do correctly and easily.

There are also new UI toolkits coming up through the ranks that are trying to knock Qt off that #1 position. None of the WebUIs would even place in this race.

Web UI toolkits always look non-native, are hard to interpret, often use low contrast (and frankly ugly) colorschemes, are easy to use in ways that do not comply with usability standards across OSes, and usually do nothing for A11Y.

The opportunity to improve those toolkits was always there, and the ball was dropped.

thepasch 17 hours ago||
I think the fact that you listed off five toolkits for three different OSes, all of which are "that OS's own toolkit," might point at the root of the problem here.
DiabloD3 17 hours ago||
Windows is so fucking old that I think it has a right to try again.

And, btw, the reason Microsoft even bothered is because (dun dun dunnnn) lots of internal apps at Microsoft were written with Qt, not MFC, and leadership got pissed when they realized (they couldn't tell the difference, since Qt does the native++ technique).

As for Linux, yeah, thats a shitshow. Qt was closed source, Linux isn't, so they made Gtk, but then Qt got open sourced, and then the Gtk guys just kept going. Qt can mimic Gtk3/4 themes and already uses 100% native rendering (same APIs Gtk does).

People keep writing Gtk apps for some reason, and I don't know why. I can get the C++ hate, but Qt has the cleanest C++ I've ever seen.

zerr 12 hours ago||
Gtk is hardware (GPU) accelerated, while Qt Widgets is software/CPU-rendered.
DiabloD3 10 hours ago||
I notice you say, specifically, Qt Widgets.

Yes, classic Qt Widgets still doesn't allow for hardware acceleration.

However, the majority of Qt UIs you deal with are in Qt Quick, which is hardware accelerated. Almost all of KDE is Qt Quick, for example.

zerr 8 hours ago||
Yes, I was considering C++ (and C) desktop UI toolkits. Unlike Qt Widgets, QML/JavaScript is a horrible mess and not suitable for desktop software.
d12bb 17 hours ago|||
Even if SwiftUI, Qt and whatever Windows uses this morning were absolutely perfect, developers would write web UI slop to not have to write three frontends. That, and familiarity with JS are the whole reason.
bob1029 14 hours ago||
I challenge you to replicate something "simple", like an iMessage-style UI/UX in pure Win32 or WinForms.

The web views are entirely about productivity gains, not technological excellence. I don't know of many who would argue that the web view approach is superior from a purely technical perspective. It is mostly downsides in terms of performance, E2E latency, startup delay, security edges, etc.

clownstrikelol 13 hours ago||
In WinForms?

Is that supposed to be a challenge?

WinForms is incredibly easy and simple to use...

Doesn’t mean you should use it for new things in 2026, but for building a chat app with? Yeah, it’d be very easy.

I’d know, because I’ve done it (granted it was over 15 years ago at this point, but I’ve done it). Was used internally, with a PHP backend. Worked great!

bossyTeacher 19 hours ago||
How is this better than Electron?
zamadatix 11 hours ago||
These from the comparison table stick out to me:

- Can use "raw, system WebView, or bundled CEF" vs "bundled Chromium"

- The size can be smaller in the Raw/WebView cases.

- Built-in automatic differential updates

- Built-in cross-compilation (+the compilations just come built into Deno itself rather than as a 3rd party package).

And, of course, the same lists as one would generate when comparing the base Deno vs Node themselves.

IshKebab 18 hours ago||
Vastly easier to set up, optionally lets you use platform web renderers, Typescript by default, you can use the Deno API instead of Node (compatible with less code but much better designed), built-in auto update, you can use Fresh which IMO is the best web framework.
m00dy 19 hours ago||
would be cool to have a comparison with tauri.
tarcon 19 hours ago|
They really did their best comparing it with other tools here https://docs.deno.com/runtime/desktop/comparison/
prohobo 17 hours ago||
RE: Tauri not having cross-compile... There's a GitHub action that compiles for Linux, Windows, and Mac. So practically it does have it, just not out of the box.
zamadatix 11 hours ago||
Practically that's just the ability to generate binaries for more than one target. "Cross compiling" is specifically that ability without having to invoke a separate external environment to get the additional targets.

If cross compiling were really just about the result rather than the means, what would the difference be between that and normal support for multiple targets?

kettlez 12 hours ago||
Great, another way to make shipping bloated javascript apps easier. Just what we need.
delduca 11 hours ago||
Another Chrome wrapper...
unliftedq 18 hours ago||
[flagged]
jessinra98 14 hours ago|
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?
More comments...