Why We Chose Tauri for Desktop App Development

Nimit SavantNimit Savant
3 min read

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

  1. Desktop Bundler: Bundle for all major desktops from native systems

  2. Self Updater: Update Tauri Apps from within themselves

  3. Native Notifications: Cross-platform notifications using polyfilled web API

  4. GitHub Action: Build your Tauri binary for macOS, Linux, and Windows

  5. 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

3
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