3 ms·
It uses Tauri which is the Rust equivalent of Electron. I'm building an app using it now and it's significantly better than past attempts at browser-based, cro
by threeseed 3y ago
It uses Tauri which is the Rust equivalent of Electron.
I'm building an app using it now and it's significantly better than past attempts at browser-based, cross platform app development. It is extremely fast and efficient so apart from UI controls not looking the same it will be on par with a native app.
And one of the big advantages for me is that I get to leverage Rust's excellent low-level capabilities e.g. cross platform SIMD support, io_uring with minimal investment.
- troupo 3y ago> t is extremely fast and efficient so apart from UI controls not looking the same it will be on par with a native app. It uses system-provided WebView (WebKit on MacOS and Linux, and Edge on Windows) to display the UI shell, so the UI portion will be just as slow as any Electron app.
- threeseed 3y agoSure but most of the issues with Electron apps aren't to do with the web layer. It's the fact that the app is so slow to launch, consumes ridiculous amount of resources, does not take advantage of the hardware, is unstable etc. And then when you're using the app all of the interactions are slow because NodeJS's concurrency is so poor. Rust and Tauri fixes all of those. It's not perfect but for a cross-platform app development library I've not seen anything better. Happy to be enlightened with alternatives.
- troupo 3y ago> It's the fact that the app is so slow to launch, consumes ridiculous amount of resources, does not take advantage of the hardware, is unstable etc. You've just described almost any web-based UI ;) > And then when you're using the app all of the interactions are slow because NodeJS's concurrency is so poor. Most of the slow interactions come from the web-based UI. I mean, Slack needs 17% CPU to draw an animated emoji. And it's already running in a hyper optimised Chrome: https://twitter.com/dmitriid/status/1486364312910368769 https://twitter.com/dmitriid/status/1486364312910368769 > Happy to be enlightened with alternatives. Qt :)
- shubhamkrm 3y ago> Qt Unfortunately, it’s licensing is not suitable for everyone.
- KronisLV 3y ago> It's not perfect but for a cross-platform app development library I've not seen anything better. Happy to be enlightened with alternatives. Unironically, FreePascal/Lazarus had a decent shot at this with LCL: https://en.m.wikipedia.org/wiki/Lazarus_Component_Library https://en.m.wikipedia.org/wiki/Lazarus_Component_Library It could target Win32, GTK and Qt all at compile time (even Android and OS X but that never got developed all that far AFAIK), depending what runs on your target platform, while you get common components and RAD at design time. I haven't seen anything like it since and sadly the language and ecosystem are mostly dead, which is a shame, because the idea was brilliant and it actually worked (and is still used in some software, like CudaText and PeaZip I think). Aside from that, something like MAUI could be worth a look: https://dotnet.microsoft.com/en-us/apps/maui https://dotnet.microsoft.com/en-us/apps/maui
- hobofan 3y ago> so the UI portion will be just as slow as any Electron app Or as fast as any website built with a pinch of care to performance.
- artursapek 3y agoOn the bright side, they could still switch to using a proper pure Rust UI library like iced.
- threeseed 3y agoTheir documentation [1] is completely empty. I do applaud anyone that tackles the challenge of building a proper native cross-platform UI. It is one of the ultimate goals in software so wish them all the best. [1] https://book.iced.rs https://book.iced.rs
- artursapek 3y agoThe iced repo has plenty of examples, and the docs.rs is very clean. The book is a newer effort.