Electron vs. Tauri: A Practical Comparison #313
Replies: 1 comment
|
Hi! Interesting. I thought Electron was to blame for how slow Logseq was, but I think that's not really it. mldoc was slow, and the other datascript driven stuff was, and some other things were probably not built so well (no caches where there should've been etc.). So I definitely think you can make a fast electron app. But I think Rust is better for AI development - being static is not as annoying for AI is for a person AND it makes tests much more effective. Moreover I was really blown away by how easy it was to get the Android app. Actually I sometimes use my phone (Motorola Edge 50 Ultra) in desktop mode (just connect a 4k USB-c screen + BT keyboard + mouse) and Tine looks exactly like the desktop version on this setup and it is a joy to use (unlike logseq android, which is fine, but not awesome). And it is literally the same app that when I use the phone in my hand looks like a normal mobile app. So I would say the multiplatform + rust parts are more important. The biggest weakness of Tauri so far has been I think dealing with WebKitGTK on Linux - it is not a great engine, the ones on mobile + mac + windows are better. It should change eventually with Servo, and it's not a terribly big deal, but I can feel the difference. |
Uh oh!
There was an error while loading. Please reload this page.
Electron vs. Tauri: A Practical Comparison
Since Tine uses Tauri, I thought it might be useful to share a simple comparison between Electron and Tauri.
This is not meant to argue that one is universally better than the other. They make different engineering trade-offs: Electron tends to prioritize a mature and highly consistent runtime, while Tauri prioritizes a lighter architecture, native integration, and broader code reuse across desktop and mobile platforms.
Core comparison
The main trade-off
A simplified way to describe the difference is:
Electron effectively brings its own browser runtime. This makes applications heavier, but it also gives developers a relatively predictable rendering environment across Windows, macOS, and Linux.
Tauri takes the opposite approach: it reuses the operating system's WebView and keeps native application logic in Rust. This can substantially reduce application size and resource usage, but developers need to account for differences between WebView implementations and operating systems.
One particularly important advantage of Tauri 2
For projects that eventually want to support both desktop and mobile, Tauri 2 has an unusually strong architectural advantage:
A large part of the frontend, business logic, data model, parsing, indexing, database access, and other Rust-side logic can potentially be shared.
That does not mean "write once and every platform works automatically." Mobile UI, permissions, filesystem sandboxing, background behavior, notifications, native APIs, and platform testing still require platform-specific work.
But compared with maintaining completely separate desktop and mobile implementations, the amount of duplicated engineering can be substantially lower.
For software like Tine
For a local-first knowledge-management application, Tauri has some interesting strengths:
At the same time, Tauri itself does not automatically solve performance or data-consistency problems. Incremental indexing, filesystem synchronization, database architecture, caching, IPC boundaries, and algorithmic complexity can matter much more than the choice between Electron and Tauri.
So I think the most useful way to view the two frameworks is not "which one is better?", but rather:
For desktop-only applications where maximum Web compatibility, a huge Node.js ecosystem, and predictable Chromium behavior are the priorities, Electron remains extremely attractive.
For applications that value lightweight distribution, Rust-native capabilities, local data processing, and a shared path across desktop + mobile, Tauri can be a very compelling choice.
References
All reactions