4 ms·
Tauri is pretty awesome. Rust backend, WebView front end. Nothing uses native desktop elements of course. To be fair, there is no practical way to write native
by apatheticonion 11mo ago
Tauri is pretty awesome. Rust backend, WebView front end. Nothing uses native desktop elements of course.
To be fair, there is no practical way to write native desktop applications using stylistically consistent UI elements AND have it be portable AND in a language that you enjoy using.
As far as I can tell, Windows 11 doesn't even have a toolkit with platform UI elements.
GTK on Gnome is pretty okay and GTK-rs is not dissimilar to React. Who know what MacOS uses but something something Swift XCode.
But I agree, just use web technologies. Write once, ship everywhere (and hum loudly when people complain about poor performance - joking, it's the vendors' fault we have to use web technologies).
- codedokode 11mo ago> Rust backend, WebView front end. I don't know much about it but it seems like a weird combination. If you want high performance and low memory usage, you don't want HTML, if you want fast code writing, you don't want Rust.
- powersnail 11mo agoI could see a case where the core logic needs to be performant, but the UI does not. The front end could be some menus, displaying (not a giant amount of) data, and a progress bar, while the back end does heavy computing. And furthermore, if you want fast code writing, you write in the language you already know. For some people, that is Rust.
- Ray20 11mo agoA very reasonable combination: - HTML is the main way of designing interfaces (whether we like it or not) - Rust is the main language promoted by intelligence agencies with multi-billion dollar budgets because it is laced with their backdoors (whether we like it or not)
- PhilippGille 11mo agoThere's Wails for Go backend and webview frontend; https://github.com/wailsapp/wails https://github.com/wailsapp/wails
- osigurdson 11mo agoI don't believe you generally end up writing a lot of Rust with something like Tauri. It is mostly web dev. While it is true that browser based UIs are slower than native, it isn't clear that .NET based UIs would be any faster while being very niche.
- raincole 11mo agoUse the slower but easier to write languages for front end is the norm for complex apps. Many apps that passed the trial of time are like that. Blender: frontend Python, backend C++. Houdini: frontend Python(PyQt), backend C(presumably) Sim City: frontend JavaScript, backend C++ The reason is very simple: frontend is more error tolerant, but less resistant to the product designer's whims (or the users' desire to customize.)
- jcelerier 11mo ago> Blender: frontend Python, backend C++. blender's frontend is pretty much exclusively C++? https://github.com/blender/blender/tree/main/source/blender/editors https://github.com/blender/blender/tree/main/source/blender/... > Houdini: frontend Python(PyQt), I would be infinitely surprised if Houdini's frontend wasn't also a majority C++. Likewise consider large apps such as Ardour, Krita, etc.
- jzebedee 11mo ago> As far as I can tell, Windows 11 doesn't even have a toolkit with platform UI elements. They do, it's called WinUI 3. It's barely used for all of the aforementioned.
- apatheticonion 11mo agoI tried this. Their examples don't even compile lol
- Deukhoofd 11mo agoIn my experience with Tauri, it's pretty good on Windows, but not so much on other platforms, especially Linux. The decision to target different browser engines on each operating system means you still have to deal with a bunch of different OS-specific bugs. For Windows you're dealing with Edge (so Chromium), on macOS you have Safari, and on Linux you have WebKitGTK. WebKitGTK has honestly abysmal performance, and you're missing a lot of modern standards. The Tauri devs are looking at bundling a Chromium browser with it to deal with that, but that's still some time off, and leads to the same issue Electron has, where you have large bloated applications. https://github.com/tauri-apps/wry/issues/1064 https://github.com/tauri-apps/wry/issues/1064