by stefanvdw1 on 3/1/23, 8:08 AM with 83 comments
by terhechte on 3/1/23, 12:38 PM
Lately, however, I've worked on a Mastodon Client written in Dioxus (https://terhech.de/ebou/). Dioxus runs native Rust code and sends Dom Updates to a Tauri Webview. The difference in Ram and Performance is staggering. Much more lightweight because it uses the System Webview, and much faster because it's not Javascript. I've come to the conclusion that Electron itself is probably fast enough, but its the Javascript that causes it to crawl. (Obviously, my tiny app doesn't compare to Slack, but I've also done some simple-enough Electron Experiments).
And it makes sense: WebKit has seen tremendous amounts of investments to make it as fast as possible. CSS can do GPU based transforms, everything is heavily optimised. I'd venture that WebView rendering is just as fast as native (in the general case). What makes Electron slow is Javascript.
by marcus_cemes on 3/1/23, 5:37 PM
- Single lightweight binary install and executable (~6 MB), clean uninstall
- Automatic updates (digitally signed, uploaded to a small VM)
- Integrates nicely with SvelteKit and TailwindCSS
- The Rust backend was able to integrate with GTSDK over FFI. The cmake crate made C++ compilation and linking automatic as part of cargo build, provided that a C++ toolchain is available (no problems even on Windows).
- No scary toolchain setup with a load of licenses to review and accept (looking at you, Flutter. I'm a student, not a lawyer. Although perhaps this will also be a thing with Tauri + Android?)
For a small project, I can't recommend it enough. I wouldn't know where to start with a C# or Qt GUI application, especially if I wanted to make it cross-platform.
It'll be interesting to see if it gains any traction in the mobile space. Flutter is great and may be better optimised for certain rendering techniques, such as infinite lists, but sticking with web technologies is a very compelling advantage.
by FlyingSnake on 3/1/23, 4:39 PM
Tauri might be the bees knees and cross platform toolkits are cool but I’m not seeing anything worthwhile in this blogpost.
by tekkk on 3/1/23, 1:03 PM
Oh I'm already using Rust in backend so that wouldn't be a big deal. Wonder how well you're able to do GPU / graphics stuff inside webview though? Is WebGPU supported?
by wdb on 3/1/23, 12:24 PM
For me, it always felt much more difficult to match the native ui behaviours in a web application that it defeats the time won. Especially, when you want to support both Android and iOS.
by rascul on 3/1/23, 2:03 PM
by erlend_sh on 3/1/23, 2:59 PM
CTA v3 was released a few hours ago: https://tauri.app/blog/2023/03/01/create-tauri-app-version-3...
by account-5 on 3/1/23, 10:27 PM
All that said, for the novice, why would I use this over dart/flutter, or even one of the huge amount of other JavaScript frameworks?
by maxloh on 3/1/23, 1:08 PM
Cordova failed the competition against React Native and Flutter.
by lucasyvas on 3/1/23, 2:48 PM
Otherwise I imagine you could use capacitor from JS? But I see no pitch for how this should be done so far.
by satvikpendem on 3/2/23, 2:11 PM
by bsaul on 3/1/23, 11:59 AM
by college_physics on 3/1/23, 3:54 PM
by penguin_booze on 3/1/23, 5:52 PM
by eklavya on 3/1/23, 12:13 PM
by turbobooster on 3/1/23, 4:37 PM