Rust GUI框架哪个好?主流框架及其特点

Rust 的 GUI 生态近年来发展迅速,涌现出多个成熟且受欢迎的库,适用于不同场景,本文列出当下比较流行的 Rust GUI 库及其特点。

Dioxus

Dioxus 是一个适用于 Web、桌面和移动设备的全栈应用框架;

轻松构建跨平台应用(Web、桌面、移动端、服务器等)

符合人体工程学的状态管理,结合了 React、Solid 和 Svelte 的优点

类型安全的路由和服务器函数,由 Rust 强大的编译时能力保证

集成 Web、MacOS、Linux 和 Windows 的打包工具

即时热重载

一流的 Android 和 iOS 支持

适用场景:企业级 Web 应用桌面化、跨平台业务系统

官方链接

Dioxus 官方网站

Dioxus 源代码

Slint

Slint 是一个开源声明式 GUI 工具包,用于为嵌入式系统、桌面和移动平台构建用户界面;

响应式 UI 设计,允许跨操作系统和处理器架构的跨平台使用

内存和处理能力方面需要较少的资源

稳定的 API

适用场景:工业控制面板、智能家居界面

官方链接

Slint 官方网站

Slint 源代码

Tauri

Tauri 是一个为所有主流桌面平台构建极小型、超高速二进制文件的框架。开发者可采用任何能编译为 HTML、JS 和 CSS 的前端框架来构建用户界面,而应用后端则是基于 Rust 的二进制程序,其 API 可与前端进行交互。

跨平台能力:支持 Windows、macOS、Linux、iOS/iPadOS、安卓

前端独立:支持所有前端框架

内置应用程序捆绑器

原生 WebView 协议

适用场景:跨平台轻量级客户端

官方链接

Tauri 官方网站

Tauri 源代码

Egui

Egui 是一个简单、快速且高度轻量化的既时模式 GUI 库,纯 Rust 语言编写,专为 Rust 打造;它能在 Web、原生环境以及各类主流游戏引擎中流畅运行。

即时模式 GUI

支持为Web、Linux、Mac、Windows、和Android编写程序

适用场景:游戏引擎中添加 GUI,高频交互的应用

官方链接

Egui Web演示

Egui 源代码

Iced

Iced 是一个跨平台的 Rust GUI 库,专注于简洁性和类型安全。

简洁易用、开箱即用的 API

类型安全、响应式编程模型

跨平台支持(Windows、macOS、Linux、及Web端)

响应式布局

内置组件库

支持自定义组件

带性能指标的调试悬浮窗

原生支持异步操作

适用场景:需要简洁 API 和响应式布局的应用;

官方链接

Iced 官方网站

Iced 源代码

Ratatui

Ratatui 是一个基于 Rust 的终端用户界面(TUI)开发库。它提供了一种简单灵活的方式,帮助开发者在终端中构建基于文本的交互式界面,适用于命令行工具(CLI)、实时仪表盘以及其他控制台交互程序。

构建精美终端用户界面

内置小部件

适用场景:终端仪表盘、命令行工具美化

官方链接

Ratatui 官方网站

Ratatui 源代码