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!

tauri

Please refer to tauri for more discussions.

dioxus

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

rinf

Rinf is a production-ready framework for creating beautiful and performant cross-platform apps using Flutter and Rust with batteries fully included.

https://github.com/fzyzcjy/flutter_rust_bridge https://github.com/fzyzcjy/flutter_rust_bridge 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

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.

iced

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

fltk-rs

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.

gtk-rs

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

winit

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

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

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

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.

https://crates.io/crates/OrbTk

conrod

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

imgui-rs

imgui-rs is a Rust bindings for Dear ImGui.

References

Comments