Are we GUI Yet? The state of building user interfaces in Rust

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • Slint

    Discontinued Slint is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++ or JavaScript. [Moved to: https://github.com/slint-ui/slint]

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Windows UI Library

    Windows UI Library: the latest Windows 10 native controls and Fluent styles for your applications

  • Microsoft's ongoing efforts for WinUI seem to be missing.

    https://github.com/microsoft/microsoft-ui-xaml/issues/2488

    As mentioned on the thread, the current samples are at https://github.com/microsoft/windows-rs

  • windows-rs

    Rust for Windows

  • Microsoft's ongoing efforts for WinUI seem to be missing.

    https://github.com/microsoft/microsoft-ui-xaml/issues/2488

    As mentioned on the thread, the current samples are at https://github.com/microsoft/windows-rs

  • gtk-rs

    Discontinued Rust bindings for GTK 3

  • GTK+ on Rust is a thing that is seeing a lot of active work (see https://gtk-rs.org/). I think some of the core gnome stuff has even moved over to rust at this point (like libsrvg).

  • areweguiyet

    A website built for the Rust community

  • FlatLaf

    FlatLaf - Swing Look and Feel (with Darcula/IntelliJ themes support)

  • If you are looking to use Java. This is very good

    https://github.com/JFormDesigner/FlatLaf

    There’s also Kotlin multi platform

  • nodegui

    A library for building cross-platform native desktop applications with Node.js and CSS 🚀. React NodeGui : https://react.nodegui.org and Vue NodeGui: https://vue.nodegui.org

  • (Disclaimer: My knowledge of Rust very limited, but I have quite a bit of experience with getting Qt/KDE classes to work with other languages.)

    You are absolutely right. The effort to be acceptable bindings for Qt would be a tiny fraction of the cost compared to building a whole new Rust native GUI library.

    Qt is huge set of libraries with an equally huge API. But there are a lot of shortcuts and smart ways of approaching the problem to get what you want out of Qt for minimum effort.

    Bindings like PyQt and even PySide go for the nuclear option of generating bindings for the whole Qt API and trying to match the C++ API in style too. This is an absolutely massive huge task. Also, getting people to contribute to an open source bindings project is hard. Getting people to contribute to a bindings generator is even harder.

    NodeGui https://github.com/nodegui/nodegui, Qt bindings for Nodejs, on the other hand takes a very different approach which in one way is low-tech but I think is actually very smart. I'll summerise the differences:

    * It focuses on Qt Widgets first. This greatly reduces the amount of work to the parts that people actually need. (BTW, if you just want QML and Rust back-end then Jos van den Oever's work at https://invent.kde.org/sdk/rust-qt-binding-generator has probably got you covered already.)

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
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