Top
Best
New

Posted by GeneralMaximus 17 hours ago

Deno Desktop(docs.deno.com)
975 points | 362 commentspage 4
josephernest 10 hours ago|
> deno desktop is opinionated about those tradeoffs:

> Small by default, full Node compatibility

I tried `deno desktop index.ts` with the 5-line Hello world in the article.

Result (Windows 10): 442 MB. Ouch.

I thought it would be smaller than an Electron build, but it's far worse. Did I do something wrong?

(libcef.dll: 247 MB) (deno-test.dll: 78 MB <- contains the hello world)

fny 10 hours ago||
libcef is the Chromium embedded framework[0], so your build isn't using a webview or maybe its using both. I just tried it on my mac, and I can't keep libcef out even with `--backend webview`.

https://github.com/chromiumembedded/cef

josephernest 10 hours ago|||
IIRC Electron hello world is ~ 100-150 MB because it bundles a browser/Chromium runtime.

So I hoped we could have a <= 20 MB solution by reusing the OS webview or similar. Having more than 400 MB is a bit deceptive for me. (Again: maybe I just did something wrong in the config: should I do something else than `deno desktop test.ts`?)

undefined_void 10 hours ago||
Try the webview backend: `deno desktop --backend webview`
IdiotSavage 10 hours ago||
The docs say that's the default:

https://docs.deno.com/runtime/desktop/backends/#webview-(def...

crowlKats 8 hours ago||
apologies, this is inaccurate currently, will get things updated
pier25 6 hours ago||
So how much does a hello world weight?
utopiah 16 hours ago||
Interesting but IMHO as we see on mobile providing WebViews work. Maybe instead of having Electron, Tauri, Electrobun, now Deno desktop but also plenty of alternatives then desktop browsers should provide WebViews on desktop with sandbox and permissions that make those applications usable. The alternatives listed here would just be fallback for a transition period until the WebViews are "good enough".
pjmlp 16 hours ago||
Webviews have always worked since MSHTML, the issue is being comfy helping Google's market share instead of writing portable Web code.
utopiah 16 hours ago||
That's a whole can of worms, Micro$lop entangling its own browser with its OS, getting a (gentle) slap on the hand for its abuse of monopoly position for it, having to remove it claiming it's "impossible", etc.
andyferris 16 hours ago||
Is it not a web view? With nodejs capabilities from the “backend” half of the app for normal desktop app filesystem access etc?
utopiah 16 hours ago||
If a Web View is not provided by a browser then it's an already installed browser then it's as they say "web rendering engine" that they ship along.

I'm trying to argue that it should already be available via Firefox, Chromium, etc on desktop.

koolala 13 hours ago||
Firefox doesn't release a webview engine but if they did I wonder if Linux distros would use it.
G_o_D 11 hours ago||
I was just today morning thinking about some such idea, for mhtml to be embedded with light weight renderer so it does'nt have to rely on other browser
c-smile 7 hours ago|
> for mhtml to be embedded with light weight renderer so it does'nt have to rely on other browser

That's Sciter (https://sciter.com) and Sciter.Quark (https://quark.sciter.com) in particular, no?

arikrahman 15 hours ago||
I've decided on using a Clojure/Flutter hybrid that gets the best of all worlds. May integrate move from Bun to using Deno here https://codeberg.org/arik/clutter
chem83 9 hours ago|
Care to expand on what this solution is? What is Clojure bringing to Flutter in this case? Ty.
mb2100 13 hours ago||
> Backend and UI communication goes through in-process channels, not socket-based IPC

Are they running the frontend and backend in the same process? Sounds a bit dangerous security-wise?

whilenot-dev 13 hours ago|
How can in-process channels be more dangerous than a socket-based IPC? The frontend still goes through the "secure" JavaScript engine AFAICS.
LauraMedia 14 hours ago||
Maybe it is because it is still in development, but building and running the Hello World example just gives me a blank terminal and a white window that is not responding.
bartlomieju 12 hours ago|
Sorry to hear that, could I ask you to file an issue in our bug tracker?
nottorp 12 hours ago||
Hmm suppose you have a node GUI-less application. What would you pack it in to have something reasonably self contained to deploy?
bobajeff 10 hours ago||
Deno actually has had a built in compile to binary feature * I've used it before a few times.

* https://docs.deno.com/runtime/reference/cli/compile/

tones411 12 hours ago||
Look into Single Executable Applications

https://nodejs.org/api/single-executable-applications.html

nottorp 10 hours ago||
Thanks!
taosu_la 13 hours ago|
Is this a new trend? Why are everyone starting to do desktop runtime? For example, I recently saw Bun Electron, and then I saw this project.
iagooar 13 hours ago|
I guess people are tired of each instance of an Electron-based app using 1GB+ of RAM.
josephernest 10 hours ago|||
I just tried `deno desktop helloworld.ts` and the result is 442 MB. So it's not any lighter than Electron (see my toplevel comment)
iagooar 9 hours ago||
Then it probably was wishful thinking on my side...
yboris 7 hours ago|||
Why are people parroting this meme?

For 8 years now, constantly updating to newest Electron, my Electron app has been using only about 150mb of RAM - (see Video Hub App)

More comments...