Desktop Apps with Deno
github.com
github.com
Or put another way, why isn't this just a template repo, why does it need it's own 'community', versioning, plugin system etc., it just seems like an annoying level to have a framework at to me - on top of Tauri but beneath any svelte/vue/etc. framework you might use.
i haven't heard of any of these. even deno just heard today.
Tauri's the Electron-like bit doing the bulk of the work here. It's framework & JS runtime agnostic, just packages up your compiled frontend with your Rust backend, and provides an API between the two.
Tauri itself is written in Rust. You could have a static page that loads the rest by SSR in Rust and no node/deno/anything.
Astrodon on the other hand appears to be designed around allowing you to write the back-end in javascript running on Deno, with the front end still being arbitrary html+javascript. The net result being more akin to a deno powered electron (instead of a node powered one).
Plus, customising the look of Qt apps is way way more difficult than web apps. QtQuick is better than QtWidgets but it's also waaaaay less mature. For instance you can't make custom scenegraph widgets containing text.
Also, C++ really isn't that hard for a JS developer to learn for the purpose of creating a native UI system.
> QtQuick is better than QtWidgets but it's also waaaaay less mature.
No one should be using Quick, IMO.
I agree - I meant it is better in terms of animation/styling support. Worse in just about every other way.
Creating an equally slow UX on multiple platforms?
Todays web based apps tend to skip my inputs if I type to fast, and I'm not a fast typer.
Apps stand and fall with their UI.
Apps should please their user nit their developer and I say that as a developer.
The goal of an app is to make the life of it's users easier not mine. It's my blood, sweat and tears so they can save theirs for their job.
There's still tons of room to make web powered desktop apps better than the current mainstream Electron ones - without abandoning the browser.
There's a commercial project that's trying to make linear's architecture into a framework: https://replicache.dev/
Demo: https://repliear.herokuapp.com/d/lXsPEs2kl6?view=active
Flutter is available. But with Flutter you're largely gonna be limited to the widgets and design styling created by Google.
QT exists. But QT will also be driven by the needs of the QT corporation.
The way web tech has evolved, however, there are a whole bunch of different widget libraries, a whole bunch of different design philosophies, a whole bunch of different platforms that you can build on, from the largest companies in the world to individual developers.
It's very hard to see how any other tech can ever evolve to this point. If any other company/developer creates an alternative stack, that stack will almost certainly be dominated by those creators. If instead, some sort of consortium comes together to create this non-web tech, it will move far too slow to catch up with the contemporary state of web tech, never mind where web tech would have reached over the time they spent on reaching that state.
Despite the hate it gets, Electron is an incredible tool to be able to quickly create a decent native experience (and as someone who uses linux - I tend to get native apps with company support, which is miles ahead of where I was 10 years ago).
I'm glad to see folks playing around with the native installed webviews - now that MS is all in on webview2, this feels like a good solution to some of the bloat required by locking a chromium version in electron.
Slightly more likely to hit compatibility issues across machines, but for most apps not using cutting edge apis - not too much of a concern.
etcher is electron based - https://www.balena.io/etcher/
But given it's writing to removable media and is an offline only experience - there's no reason to host a page at all.
Works great across every OS I use it on.
I never found an electron application that was even remotely "decent" or "native". The best one I used was Element (Matrix), any other way somewhere between "somewhat usable, but not good" (Webex) and "mv program /dev/null" (Teams)
The only way to get a good native experience, is to write native apps, using the native Toolkit.
Hey - I'd love it if companies would do that too. But in the mean time... I'm not enough of an ass to throw away the solutions that work.
That said - Webex is not an electron app (Appears to be QT...). Teams is terrible by itself (no electron needed). Other apps do just fine... So I'm not sure what it is you think you're comparing.
Slack/Discord/Etcher are all electron, and frankly they work fine (etcher is even nice).
So between "You're on linux and we don't support that" vs "Here's a working app with company support (electron based)"... I know which I'd pick.
Discord was - last time I used it on the desktop - awfully sluggish and basically even worse than in a browser.
We can just extend it to non-electron toolkits (E.g. Java Swing):
- Splash screen (E.g. I've rarely/never seen a native Libadwaita/GTK program that used one, they may exist, but are really rare in the linux world, examples: Teams, Mediathekview)
- Custom notifications (E.g. in teams, if you download a file, you get undismissable - at least for me ^^ - notifications that stay always on top)
- Weird custom things (E.g. Teams draws on close and minify buttons, that makes no sense)
- Order of the buttons in e.g. boxes (Is it Yes-No or No-Yes?)
That's how I measure "native-ness"
Different version, different behavior.