Going all-in on Rust

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Qt-Advanced-Docking-System

    Advanced Docking System for Qt

  • 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.)

  • tauri

    Build smaller, faster, and more secure desktop applications with a web frontend.

  • 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.

  • 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.

    WorkOS logo
  • PyO3

    Rust bindings for the Python interpreter

  • 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.

  • gtk-rs

    Discontinued Rust bindings for GTK 3

  • 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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts