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.
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.
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.
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
> Happy to be enlightened with alternatives.
Qt :)
Unfortunately, it’s licensing is not suitable for everyone.
Unironically, FreePascal/Lazarus had a decent shot at this with LCL: 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
Or as fast as any website built with a pinch of care to performance.
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.
For integration with cloud services you're going to run into OAuth, and guess what, that dance happens in a browser: get access to cloud drive -> get sent to provider login <<web>> page (or authorization page) -> get sent somewhere else.
I mean, you can build it without the browser, but a key and very early step involves a browser, you need it anyway. Might as well ship your own if you can do it.
You don't need to embed a browser engine for this, let alone build the entire app inside a browser.
Now do the same for: Windows · Linux · iOS · watchOS · Android [1].
I'd rather embed the browser and get a free cross platform UI toolkit that's guaranteed to work everywhere :-)