Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Personally, I'm partial to the PyO3+PyQt/PySide option because Qt's QWidget APIs are a very polished and mature way to build a portable "as native as feasible without writing a separate frontend for each platform" GUI with great quality-of-life things like QMainWindow::saveState, PyQt-compatible bindings for addons like Qt Advanced Docking System, and tooling like MyPy. (It also helps that, as a KDE user, QWidget is the platform's native UI API.)
As someone else who has been moving away from Python for the better compile-time guarantees, the faster startup time for little CLI tools, and the easier deployment, I have to say that, unless you're willing to foist gtk-rs GUIs on people, which feel increasingly alien outside the GNOME desktop environment on Linux, or use something kind of primitive like fltk or egui, you'll still need a scripting language for GUI frontend development be it something like JavaScript/TypeScript with Tauri, QML (also an ECMAScript dialect) with a Qt Quick 2 wrapper like qmetaobject (Note that my experience has been that it's hard to keep a Qt Quick 2 UI from feeling like a reskinned mobile app), or using PyO3 with PyQt or PySide to write a QWidget-based frontend for Rust in a manner similar to how you use QML to write a Qt Quick 2 frontend for C++ or Rust or Python or whatever else.
As someone else who has been moving away from Python for the better compile-time guarantees, the faster startup time for little CLI tools, and the easier deployment, I have to say that, unless you're willing to foist gtk-rs GUIs on people, which feel increasingly alien outside the GNOME desktop environment on Linux, or use something kind of primitive like fltk or egui, you'll still need a scripting language for GUI frontend development be it something like JavaScript/TypeScript with Tauri, QML (also an ECMAScript dialect) with a Qt Quick 2 wrapper like qmetaobject (Note that my experience has been that it's hard to keep a Qt Quick 2 UI from feeling like a reskinned mobile app), or using PyO3 with PyQt or PySide to write a QWidget-based frontend for Rust in a manner similar to how you use QML to write a Qt Quick 2 frontend for C++ or Rust or Python or whatever else.
As someone else who has been moving away from Python for the better compile-time guarantees, the faster startup time for little CLI tools, and the easier deployment, I have to say that, unless you're willing to foist gtk-rs GUIs on people, which feel increasingly alien outside the GNOME desktop environment on Linux, or use something kind of primitive like fltk or egui, you'll still need a scripting language for GUI frontend development be it something like JavaScript/TypeScript with Tauri, QML (also an ECMAScript dialect) with a Qt Quick 2 wrapper like qmetaobject (Note that my experience has been that it's hard to keep a Qt Quick 2 UI from feeling like a reskinned mobile app), or using PyO3 with PyQt or PySide to write a QWidget-based frontend for Rust in a manner similar to how you use QML to write a Qt Quick 2 frontend for C++ or Rust or Python or whatever else.