Ben Chuanlong Du's Blog

It is never too late to learn.

Develop a GUI Application in Rust

Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!


Please refer to tauri for more discussions.


Dioxus is a portable, performant, and ergonomic framework for building cross-platform user interfaces in Rust.


Rinf is a production-ready framework for creating beautiful and performant cross-platform apps using Flutter and Rust with batteries fully included. High-level memory-safe binding generator for Flutter/Dart <-> Rust Want to combine the best between Flutter, a cross-platform hot-reload rapid-development UI toolkit, and Rust, a language empowering everyone to build reliable and efficient software? Here it comes!


slint is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. It supports multiple programming languages, such as Rust, C++ or JavaScript.


A cross-platform GUI library for Rust focused on simplicity and type-safety. Inspired by Elm.


fltk-rs is a rust binding for the FLTK Graphical User Interface library. The fltk-rs crate is a crossplatform lightweight gui library which can be statically linked to produce small, self-contained and fast gui applications.


Works well on Linux but not as well on macOS and Windows.


winit is a window creation and management library. It can create windows and lets you handle events (for example: the window being resized, a key being pressed, a mouse movement, etc.) produced by window.


Druid is an experimental Rust-native UI toolkit. Its main goal is to offer a polished user experience. There are many factors to this goal, including performance, a rich palette of interactions (hence a widget library to support them), and playing well with the native platform. See the goals section for more details.


Azul is a free, functional, reactive GUI framework for Rust and C++, built using the WebRender rendering engine and a CSS / HTML-like document object model for rapid development of beautiful, native desktop applications


orbtk is a cross-platform (G)UI toolkit for building scalable user interfaces with the programming language Rust. It's based on the Entity Component System Pattern and provides a functional Reactive-like API.


conrod is an easy-to-use, 2D GUI library written entirely in Rust.


imgui-rs is a Rust bindings for Dear ImGui.