Why We Chose Tauri for Desktop App Development
Introduction
At DevAssure, we developed a desktop application to help QA Engineers create, manage and automate their test cases. As we explored the available options, we found that Electron stood out due to its popularity and strong community support.
We shifted our focus to Tauri because we wanted a more performant desktop development application with fewer memory leak issues.
Background on Tauri
What is Tauri?
Tauri is a Desktop application development framework built with RUST. It leverages Rust's performance and safety features to create lightweight and secure desktop applications. Tauri offers a simple straightforward onboarding process. Additionally, you get to build the app with a frontend framework of your choice.
Key features and benefits
Desktop Bundler: Bundle for all major desktops from native systems
Self Updater: Update Tauri Apps from within themselves
Native Notifications: Cross-platform notifications using polyfilled web API
GitHub Action: Build your Tauri binary for macOS, Linux, and Windows
App Storage: Use a canonical location to store user data
Comparison to Electron
Tauri Vs Electron
Electron is highly customisable with Node.js APIs but Tauri may require more low-level programming for certain features.
Generally heavier and more resource-intensive due to bundling Chromium, whereas Tauri typically lighter and more performant as it uses system's native webview.
Electron has larger app sizes due to bundling Chromium and Node.js.
Web developers are familiar with electron and it has extensive documentation and community support. Whereas Tauri has a Steeper learning curve, but the community and documentation is constantly evolving.
Electron has had more security concerns because of Node.js, Tauri is generally considered more secure due to limited access to Node.js and Rust's safety features.
Reasons why we chose Tauri
Performance and resource efficiency
And the Tauri app can't be decompiled or reverse engineered. With experts Electron app can be reverse engineered
Getting started is easy, within 10 mins we can start running your landing screen. code structure is good.
Has inbuilt libraries for all common OS interactions, file systems and permissions are robust.
Cross platform experience: DevAssure can seamlessly run on Windows, macOS, and Linux, ensuring a consistent experience for all our users.
Smaller application size
Security features
We could use any framework upon the our Tauri app(we use React)
Challenges and considerations
Learning curve for Rust and Tauri
Community size and support
Our experience so far
Easy setup
Consistency across all the platforms
Good discord community for support
Conclusion
Tauri was the right fit for our project because we wanted to use more optimum use of the OS features. But if you want to leverage more Node.js libraries and it's ecosystem, we would suggest you to use Electron.
For our future use cases we would be using Tauri as our primary tooling for Desktop App Development and sharing our experiences with the community.
Checkout Tauri
You can read more about Tauri here: https://tauri.app
Checkout our their quick: https://v2.tauri.app/start/
Subscribe to my newsletter
Read articles from Nimit Savant directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Nimit Savant
Nimit Savant
Developer Advocate 🥑 DevAssure I love to talk about Open Source tools, JS Ecosystem and recently about Quality Assurance and Automation Testing 🧪 I like to bridge the gap between product and it's developer audience