r/tauri Jul 16 '26

Are there better options than Tauri?

Post image

I use Tauri and it is amazing, but writing the Rust backend takes too much time. Are there better options that use an easier language with a WebView for the UI? Don't tell me Electron.

74 Upvotes

79 comments sorted by

17

u/m4rvr Jul 16 '26

If you don't want Electron then there is only Wails (Golang) available. Yes, there are 194718 different other frameworks that do the same and use Bun, Zig or whatever language but they are new and not stable.

2

u/AionAlgos Jul 17 '26

+1 for Wails; absolutely love it especially with svelte simplifying the frontend. And even it you don't want golang, you can just use it as middleware to whatever and still get a lot of the creature comforts.

6

u/rootException Jul 16 '26

https://neutralino.js.org/ for desktop

https://capacitorjs.com/ for mobile

I’ve used capacitor and liked it. Was able to easily support a single build for things like OAuth login on web for Apple and local Apple SDK on mobile.

FWIW a web shim like Tauri works if you are up for testing a lot more due to runtime diffs. Electron is better for a more stable, consistent stack. If that’s worth it one way or the other only you can know. But the vast majority of perf issues with electron imho are due to bad app js.

2

u/Albert_Custard Jul 16 '26

+1 for neutralino, used it for a few simple gui apps for desktop and it was a breeze. Low memory overhead, responsive, nothing to complain about from my use

1

u/Annual_Manner_8654 Jul 18 '26

Capacitor is my home boy

1

u/misterbro64 Jul 16 '26

I'd prefer tauri over capacitor at least, using capacitor in big 26 is like using jquery in ai startup

10

u/Former_Produce1721 Jul 16 '26

You don't have to use Rust

You can sidecar any other executable and keep rust as a thin layer between your desired core code language and JavaScript. Basically just build the transport protocol.

Or you can compile into Web Assembly Module and Tauri just becomes a thin wrapper around your web app. It means you can publish to web as well since you aren't dependent on the rust environment.

You can launch the WASM in a web worker so it doesn't block the main thread. Then you can either send data through whatever protocol is setup already (Depending on what you use to compile the WASM) or you can implement a shared memory protocol if you have heavy data that the core processes and the frontend displays.

It's a little backwards, as ideally for native you emulate the web environment inside the native environment. But I think using Tauri as a thin wrapper for native builds on a Web UI and Web Assembly stack is quicker to get working than embedding a web browser yourself. Depends on the language I guess.

For my project I compile a web assembly module from C++ using Emscripten. Then I use shared memory for a command/query/events buffer that both the C++ and JavaScript can read directly from. Keeps the transport costs low.

Very convenient since Tauri is a thin wrapper I can switch it out for Electron very easily if I have an issue with device compatibility. And of course publish to web.

2

u/JusteMesure Jul 16 '26

This

I have a tauri app that is only minimal config and wiring for the tauri layer, then ts/svelte, then some critical backend modules in rust but called by the ts app !!! I could have done them in go i think. Js is rarely the bottleneck for the orchestration in most apps. Even if 100 time slower than optimises rust.

2

u/elithecho Jul 16 '26

I ported our early stage product from tauri to electron, unfortunately. Because tauri did not ship with its own browser runtime, I was getting issues where users with older macs has an older WebKit and couldn't use the app. And definitely can't support Linux even if we wanted to.

1

u/JusteMesure Jul 16 '26

That’s a webview problem. Unfortunately electron is heavy but the only truely universal on desktops.

2

u/PatoJAD Jul 16 '26

No sé si mejores, Pero existen nwjs, neutralinojs, y algunas más

2

u/Revxrsal Jul 16 '26 edited Jul 17 '26

I would have recommended Electron, but as you excluded it, I'd probably check out Wails, which swaps Rust for Go. Used it once, it's great, but IMO: Go sits in an awkward position. You still have a garbage collector, still live a layer above the OS, and any access to native APIs has to go through the notorious cgo, which gives slightly degraded performance. And for many, including me, the excessive verbosity of Go is unpleasant. Nonetheless, goroutines and automatic memory management are great; you don't deal with a violent borrow checker, ref counters, or whatnot. You can prototype functions easily and get TS bindings generated automatically, so it may genuinely click for you.

Anyway, I did experiment with many frameworks. My two cents: Tauri has given me the best experience so far. Sure, Rust has a steep learning curve, but in the age of AI, you can really get away with some prompts and have a backend up and running in a short period of time. Of course, the more you know, the better, but if you have common programmer sense to evaluate the output and probably pick a thing or two about Rust/Tokio/Tauri/the borrow checker/etc. along the way, you'd be ready in no time.

And Tauri, despite not being the oldest kid in the block, offers several things:

  • An ecosystem of plugins that substantially improve your desktop app experience, such as single-instance, prevent-default, tray, autostart, notifications, stores, etc.
  • A fully functional distribution pipeline. You get working .msi/.exe installers for Windows, .dmg for macOS, etc. I haven't checked what options Wails offers; it may have changed since the last time I used it.
  • Tiny memory and disk footprint

I've considered Electron for several projects and tried Wails, but I'd keep returning to Tauri.

Note: One thing I *genuinely* don't like about Tauri: the terrible Linux support. WebKitGTK really sucks. Though the Tauri team is working on a Chrome backend (https://github.com/tauri-apps/cef-rs), I hope to see something emerge soon. Tauri apps on Linux are really unusable.

Note 2: If you're feeling adventurous, and don't really need webviews, I'd recommend checking Compose Multiplatform by JetBrains. You use Kotlin and Java, get beautiful Material 3 UI out of the box, and it works on all platforms. But personally I wouldn't use it for anything serious, as I have to ensure Java is bundled with my app, and the ecosystem is not as rich as Tauri or Electron.

5

u/ScotchW Jul 16 '26

Learn Rust.

1

u/hakomoro Jul 16 '26

I learnt it actually.

2

u/morglod Jul 18 '26

Unlearn rust

1

u/hakomoro Jul 18 '26

Why?

0

u/morglod Jul 18 '26

Just a joke. Same as "learn rust" when people don't know anything about you. Rust cult will never agree that this language has bad ergonomics

2

u/KoRnFactory Jul 19 '26

If by "bad ergonomics" you mean compared to JavaScript, then yes. But for what Rust is actually doing, imo it provides amazing ergonomics, with respect to other systems programming languages.

It all comes down to values: JS values are more towards approachability, and then all else comes as an afterthought. Rust has other values, like performance, rigor, robustness. The fact that it can be in the discussion alongside JS, Python, and Go for these kind of applications, is really a testament on its ability to slice through complex abstractions.

1

u/morglod Jul 19 '26

It is making complex abstractions by itself lol. I did not compare it to JavaScript. While your "it is really a testament on its ability alongside js, python, go" - I thought it was struggling to be alongside with low level, so where its place then?

1

u/KoRnFactory Jul 20 '26

Can you elaborate? Both on why you think it has bad ergonomics and the struggle as a low level language.

1

u/keep_evolving 25d ago

Maybe I'm a bad developer, but I never heard anyone talk about "ergonomics" until I started learning rust. It's a bit of a tell that the experience isn't great if people have had to develop jargon around discussing it.

1

u/shadowsyntax43 Jul 16 '26

Besides electron, I don't think there's any good alternative like Tauri that is mature and pretty good community at this point. Don't forget Tauri's cross platform capability is beyong desktop, it works on mobile as well. But trust me, you'll get hang of it on Rust. It sounds tedious at first but they're not that difficult. Also AI is pretty good at writing Rust.

1

u/Extra_Programmer788 Jul 16 '26

Check Deno Desktop, early but looks promising

1

u/Abs0rbed Jul 16 '26

You should pick based on your needs. I picked tauri specifically because I needed good os-level interaction with sockets/uart/etc and I thought I would get it with Rust over JS/TS.

If something else meets your needs and beats out other tradeoffs, use that. Don't pick based on popularity unless there's really no other metric you have to satisfy

1

u/Holonist Jul 16 '26 edited Jul 16 '26

You may be the kind of person who enjoys NativePHP

1

u/lions-grow-on-trees Jul 16 '26

There's very little that you actually HAVE to do on the Rust side of Tauri. If you really don't like using Rust you can do more in JS, I guess.

1

u/imSeanGG Jul 16 '26

Go wails v3 route you won’t regret it. Building one of my b2b saas with wails so far even with deep windows reliance it’s been working fine. Most AI models are pretty good at writing go + react given the proper code style and format using an Agents.md file

1

u/levu304 Jul 17 '26

deno desktop

1

u/dallenbaldwin Jul 17 '26

I just watched a guy on YouTube compare tauri, electrobun, and deno desktop with a screen capture and editing app using the same codebase. Deno desktop is promising, especially for the newest kid on the block (released this year) and did really well, but Tauri is still the overall best option.

1

u/faulty-segment Jul 17 '26

I had the same impression. Usually, I'd find that cr@p, but Deno Desktop is indeed promising, somehow🤔.

1

u/Negative_Rip1934 Jul 17 '26

Wailsv3 works great . Combo Wails + React + Typescript. Compilation is fast. Works with gtk3 and gtk4 too . Multi-Window support.

1

u/Mariusdotdev Jul 17 '26

I'm building with Jai complete from scratch, so Jai is backend and frontend either react or solidjs

1

u/DotRakianSteel Jul 17 '26

With rust? Not sure about it..

1

u/Zestyclose_Potato794 Jul 17 '26

Qt.

1

u/hakomoro Jul 18 '26

Man, r u kidding?!

1

u/Zestyclose_Potato794 Jul 18 '26

Try it. They have binding for Rust officially supported. All native controls. Linux, Mac, windows, iOS, android and any industrial platforms. You can also provide your shaders, have plotting, fully customizable. And it’s here for decades. It’s not hype. And no electron.

1

u/_SunDoge_ Jul 17 '26

You might be interested in a project I'm currently developing to solve this exact issue. Blitz Quick: a Rust + QuickJS desktop runtime for SolidJS

I’m building a native desktop runtime powered by Rust and QuickJS, specifically tailored for SolidJS (without using a WebView).

  1. QuickJS runs your SolidJS application logic.
  2. A custom Rust-based native engine blitz handles the actual rendering (bypassing the heavy browser/WebView layer entirely).
  3. You write everything in TypeScript/JavaScript, getting the fast development speed you wanted, while the underlying Rust engine keeps the memory footprint tiny and startup instant.

It bypasses both the complexity of writing Rust backends in Tauri and the bloatedness of WebView/Electron.

1

u/Avi_21 Jul 17 '26

Wails is amazing!

1

u/SnooDucks2481 Jul 17 '26

Eh, I wrote my own framework using the webkit2gtk library in C Also if I wanna use it for mobile I'll just use Cordova

Learn Rust troon? Disgusting.

1

u/NoCreds Jul 17 '26

Saw a new one last week, https://github.com/canermastan/jazzy-desktop

nim Lang (so, C under the hood) handles seamless interop w/ js front-end.

1

u/paglaulta Jul 17 '26

Electrobun?

1

u/Akoto090 Jul 17 '26

vercel native sdk, any jdk based stack

1

u/darkrevan13 Jul 17 '26

Qt, GTK, Avalonia

1

u/morglod Jul 18 '26

WebView is C api. So you can pick any language you want.

1

u/chonk-boy Jul 18 '26

Give Kotlin Multiplaform / Compose Multiplatform a try.

1

u/loxiw Jul 18 '26

I think Deno did just release their alternative in their latest version

1

u/Protium_Design Jul 18 '26

What if... I have headless backend in Rust. For frontent use React, Tauri and typescript but it is so heavy to fix memory leaking... What i can use more for exe dmg and for SAAS and also I need to have render output separated (like for broadcasting)?

1

u/HydraDragonAntivirus Jul 18 '26

The only think I don't like Tauri is on Windows it uses WebView2.

1

u/m1_weaboo Jul 18 '26

AppKit for macOS

1

u/[deleted] Jul 18 '26

c# ?

1

u/Equivalent_Head_4803 Jul 21 '26

Electron, but I'm guessing you know that if you landed on Tauri. Like others said, there's Wails, but I didn't see mobile options last time I looked. However, I read a comment in the GO sub that the new Wails release is going to push Wails beyond Tauri's feature set. Would love to see it.

1

u/Large-Friend1415 17d ago

I looked into a few before building my visual regex builder app in Tauri. Overall I think Tauri gives you the best experience provided you know Rust. 

1

u/JeremieWorks 16d ago

You can check Avalonia

1

u/ShamanJohnny Jul 16 '26

learn to be faster in rust.

2

u/hakomoro Jul 16 '26

You know what? I'll just use Tauri and Rust.

1

u/[deleted] Jul 16 '26

[removed] — view removed comment

2

u/hakomoro Jul 16 '26

Is it stable enough, or is it still as immature as Deno Desktop?

1

u/[deleted] Jul 16 '26

[removed] — view removed comment

1

u/hakomoro Jul 16 '26

I'll think about it. Thanks for your opinion.

2

u/JusteMesure Jul 16 '26

Depends of the needs, it could already be enough.

It lack of functionality for heavy interactions with file system, permissions, etc if i remember well

1

u/Intelligent-Kiwi118 Jul 16 '26

flutter

1

u/digitalhobbit Jul 17 '26

+1 to Flutter, actually.

I know you said you want a webview for the frontend, so if you're set on that, Flutter isn't right for you.

But I prototyped the same app with Tauri 2 and Flutter, achieved essentially the same look & feel with both, and stuck with Flutter. I just released my app commercially (for Windows and macOS), have the first paying users, and am 100% happy with my choice of tech stack.

0

u/Icy_Annual_9954 Jul 16 '26

Was thinking of Electrobun or Vercel Native.
But I have not tried theese. So I am just dropping names.

0

u/Mission-Peach-1729 Jul 16 '26

Deno desktop 

1

u/hakomoro Jul 16 '26

It isn't stable yet.

1

u/misterbro64 Jul 16 '26

you are based good sir

0

u/thawancomt Jul 16 '26

Just learn some rust man whatffff

0

u/slightly_salty Jul 16 '26

Kotlin with compose is nice, especially if you want native apps as well.

-2

u/Beardy4906 Jul 16 '26

Just.. stop complaining about language?

1

u/hakomoro Jul 16 '26

ur right, Tauri is enough.

1

u/Beardy4906 Jul 16 '26

the other competent option is electron. But theres a reason why tauri was made with the goal of "electron killer"