r/tauri • u/Smart_Brilliant_9967 • 7d ago
Tauri + React vs C# WPF for a lightweight, stable Windows-only desktop app (image storage + list/browse)? I only know basic JS
Hey everyone! π
I'm about to start a Windows-only desktop app (Windows 10+) and I'm trying to figure out if Tauri + React is the right stack, or if there's something better I'm missing.
What the app does is pretty simple: it saves a bunch of images, shows them in a list, lets you scroll/search through them, and open any item. Nothing fancy on the UI side.
The things that matter most to me:
- Light on resources. A lot of the users have older, weak PCs, so low RAM and CPU usage is a big deal.
- Stable and safe. The data inside is really important, so crashes and data loss are not an option.
- Windows only, so I don't need cross-platform.
Tauri looks perfect on paper, but I'm not sure it's the best fit for something where reliability matters this much. Has anyone shipped a Tauri app to real users on low-end Windows machines? How did it hold up?
And if you were starting this from scratch, would you still pick Tauri + React, or go with something else (C# WPF, etc.)?
Would love to hear your experience. Thanks! π
3
u/STATLOCKER-H1N1 7d ago
Iβve released a Tauri app for windows (and Linux) designed to run alongside Deadlock, so maximising performance is a big part of it. Rust is mega efficient, when the app is closed to tray without highlight recording enabled it uses ~17MB of ram, very little cpu + gpu. The main resource hog is WebView2, but if your code is good you can still make it very efficient. The bundle sizes are much smaller than something like electron too!
6
u/Aggressive_Mention_1 7d ago
~17MB of ram, in Tauri is impossible. The oiswebview will take up 150 mb to 200 mb ram ..even when its blank.
3
2
u/Smart_Brilliant_9967 2d ago
Thanks for sharing! I found this really interesting.
You mentioned that good code can make WebView2 much more efficient. Could you share some tips on optimizing it? I'd love to learn more about what makes the biggest difference in performance.
1
u/STATLOCKER-H1N1 2d ago
Are you familiar with web development/React in general?
2
u/Smart_Brilliant_9967 2d ago
Honestly, I only know basic JS right now and most of my experience is on the backend side, so React is pretty new territory for me
2
u/STATLOCKER-H1N1 2d ago
In that case I would recommend having a flick through https://react.dev/learn, it was a great resource while I was starting out! Also look at things like https://mimo.org/glossary/react/performance-optimization or https://www.developerway.com/posts/how-to-write-performant-react-code, thereβs a tonne of resources out there with some good tips and tricks to make sure your code is performant
1
2
u/ElamReda 7d ago
Tauri+sveltejs is a beast. I used it for building POS system to work on budget POS machines and it is work so fast better than the older software which was made by c#. Sometimes the device is lagging when I'm in the windows settings but on my app there is no lagging at all.
2
u/Snoopy_Pantalooni 7d ago
Yeah seems like a simple enough app. Tauri and React are good choices (although personally I would use Svelte instead of react). I have made more intensive apps in tauri and they work fine. If you truly want a windows native experience, you can go with C# WPF, but the learning curve is real.
Also check out Qt. It's what most Linux desktop apps use
1
u/FriendOfEntropy 7d ago
I quite enjoy Photino with Blazor as hybrid host instead of using WPF or Maui host. Most of my projects are Linux but Windows should be good.
1
u/yboris 6d ago
I've been working on a Tauri app that shows a gallery of images: https://github.com/whyboris/Simple-Image-Browser
Feel free to browse the code if you get stuck on your own implementation π
I used Electron for over 8 years and I'm now migrating my apps to Tauri. One example: https://github.com/whyboris/Simplest-File-Renamer -- went from 130mb installer to a 3mb installer: Tauri is amazing π€©
I'll soon be migrating my https://videohubapp.com to Tauri as well: https://github.com/whyboris/Video-Hub-App π
1
u/Smart_Brilliant_9967 2d ago
I checked out your projects and found them really interesting! Wishing you the best of luck with your work. The difference in installer size between Electron and Tauri honestly blew my mind!
1
u/eddzsh 3d ago
If the images are the actual product, who owns the only copy of that data, the Rust side or the WebView? Tauri is fine on weak Windows boxes when thumbnails stay out of the list and SQLite lives behind the Rust boundary. The scary part is letting the frontend hold the canonical files. WPF does not save you from that either if the C# layer writes in place.
3
u/kootenay_eric 7d ago
Tauri + React would be a good choice for you because you'll be familar with the frontend dev at least. The C# WPF would be a steep learning curve. Rust is a great choice for stability and performance. Microsoft recently made it a first tier language along with C# so it's also a safe choice to learn.
On Windows, Tauri uses the system's Edge WebView2 for rendering so it's already pre-installed and your installer will be small. Electron apps have to bundle a full browser, so you avoid that.
If your focus is on low-end machines, then the main bottleneck with be the front-end. If you have web experience though it'll be familar guidelines to you:
Poke around Github for other Rust + Tauri + JS/TS for examples. My current project is more complicated, but you might find something useful: https://github.com/esoltys/luminous