Why is building a UI in Rust so hard?

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

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

    Rust / Wasm framework for creating reliable and efficient web applications

  • I disagree with the premise. Building a UI in Rust is fairly straightforward! Just look at Yew, Dioxus, or Slint and how they manage interfaces. I believe the core of the issue at hand is the same of mass adoption of Rust: people have to learn a new way of doing things, and that makes it somewhat scary to approach.

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

    Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.

  • I disagree with the premise. Building a UI in Rust is fairly straightforward! Just look at Yew, Dioxus, or Slint and how they manage interfaces. I believe the core of the issue at hand is the same of mass adoption of Rust: people have to learn a new way of doing things, and that makes it somewhat scary to approach.

  • dioxus

    Fullstack GUI library for web, desktop, mobile, and more.

  • I disagree with the premise. Building a UI in Rust is fairly straightforward! Just look at Yew, Dioxus, or Slint and how they manage interfaces. I believe the core of the issue at hand is the same of mass adoption of Rust: people have to learn a new way of doing things, and that makes it somewhat scary to approach.

  • winsafe

    Windows API and GUI in safe, idiomatic Rust.

  • WinSafe says hello.

  • PacMan

    Pac-Man demo in Clojure (by pac1979)

  • And one can go and write pacman in the same way. It is basically the "functional core, imperative shell" pattern of arranging things: The UI is the shell and the computation the core.

  • egui

    egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

  • I have tried to use both https://docs.rs/fltk/latest/fltk/ and https://github.com/emilk/egui for my small tool https://github.com/PhilipK/BoilR .

  • BoilR

    Synchronize games from other platforms into your Steam library (by PhilipK)

  • I have tried to use both https://docs.rs/fltk/latest/fltk/ and https://github.com/emilk/egui for my small tool https://github.com/PhilipK/BoilR .

  • SaaSHub

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

    SaaSHub logo
  • taffy

    A high performance rust-powered UI layout library

  • Rust actually has a library for this (Taffy - https://github.com/DioxusLabs/taffy). I know, because I implemented the CSS Grid support. It was a challenge, but everybody should be able to reuse that now.

  • Qt

    Qt Base (Core, Gui, Widgets, Network, ...)

  • For e.g. if you’re writing a framework, you need to interface with Cocoa on MacOS to draw windows, which only provides an Objective C or Swift interface. You can look at the Qt source code and see how they do it: https://github.com/qt/qtbase/tree/067b53864112c084587fa9a507eb4bde3d50a6e1/src/plugins/platforms/cocoa

  • EasyGUI

    Utility library for creating pages on the Chromium Embedded Framework using HTMLRenderer (by JoshDavid)

  • GUI in APL in the wild

  • rust-cef

    Discontinued Bindings to the Chromium Embedded Framework for Rust

  • The great thing is that this also solves rust problem: just use CEF. Why didn’t the author thought about this?

  • iced

    A cross-platform GUI library for Rust, inspired by Elm

  • Glow support is planned to be removed https://github.com/iced-rs/iced/pull/1697 . Probably a good call.

  • gecko-dev

    Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html

  • I checked Firefox monorepo, it has over 4x more C++ than Rust.

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

  • Announcing samba – a Rust full-stack assistant for ballroom dancers

    2 projects | /r/rust | 7 Jun 2023
  • Sycamore -a library for creating web apps in Rust and WebAssembly

    1 project | /r/rustist | 9 Apr 2023
  • Kobold: new web UI crate with zero-cost static DOM

    5 projects | /r/rust | 23 Mar 2023
  • How Discord Stores Trillions of Messages

    7 projects | /r/programming | 6 Mar 2023
  • Never heard of rust. Rust who?

    3 projects | /r/ProgrammerHumor | 21 Feb 2023