Repolode
iced-rs

iced-rs/iced

受 Elm 启发、面向 Rust 的跨平台 GUI 库,强调简洁与类型安全。

Star
31,808
Fork
1,709
未关闭 Issue
512
最近提交
7小时前

这是什么?

Iced 是一个 Rust GUI 库,采用类似 Elm 的架构来构建桌面和 Web 界面。界面被拆分为状态、消息、将状态渲染为控件的视图函数,以及根据消息更新状态的更新函数。布局和事件处理由库完成,应用代码只需描述界面展示什么、如何响应。

它支持 Windows、macOS、Linux 和 Web,内置文本输入框、可滚动区域等控件,也支持自定义控件,并提供基于 future 的异步操作支持。项目采用模块化设计:与渲染器无关的运行时可独立使用,渲染部分包括基于 wgpu 的 iced_wgpu(支持 Vulkan、Metal 和 DX12)以及作为软件回退方案的 iced_tiny_skia,窗口外壳负责与操作系统对接。

项目目前仍处于实验阶段,不同版本之间 API 可能发生变化。

核心功能

  • 01采用 Elm 式的状态、消息、视图与更新模型,消息类型安全
  • 02支持 Windows、macOS、Linux 和 Web 平台
  • 03内置文本输入框、可滚动区域等控件,并支持自定义控件
  • 04基于 wgpu(Vulkan、Metal、DX12)的渲染器,并提供 tiny-skia 软件渲染回退
  • 05支持基于 future 的异步操作

适用场景

  • 用纯 Rust 开发跨平台桌面应用
  • 制作带原生风格界面的小型工具
  • 将与渲染器无关的 GUI 运行时集成到现有系统中
  • 在 Rust GUI 代码中实践 Elm 式架构

快速上手

  1. 1

    将 iced crate 添加到你的 Rust 项目中

  2. 2

    阅读文档书籍、API 文档和示例以深入了解

使用前须知

  • README 称 Iced 目前仍是实验性软件。
  • README 显示该项目仍处于早期阶段,版本之间可能存在破坏性变更。

标签

常见问题

iced 是什么?
受 Elm 启发、面向 Rust 的跨平台 GUI 库,强调简洁与类型安全。 Iced 是一个 Rust GUI 库,采用类似 Elm 的架构来构建桌面和 Web 界面。界面被拆分为状态、消息、将状态渲染为控件的视图函数,以及根据消息更新状态的更新函数。布局和事件处理由库完成,应用代码只需描述界面展示什么、如何响应。
iced 可以免费使用吗?用的什么许可证?
iced 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
iced 还在维护吗?
活跃维护中。iced 最近一次提交是在 2026年10月21日。
iced 适合用来做什么?
用纯 Rust 开发跨平台桌面应用 制作带原生风格界面的小型工具 将与渲染器无关的 GUI 运行时集成到现有系统中 在 Rust GUI 代码中实践 Elm 式架构
iced 怎么安装和运行?
将 iced crate 添加到你的 Rust 项目中 阅读文档书籍、API 文档和示例以深入了解
在哪里获取 iced?
源代码和安装说明在 GitHub 上:https://github.com/iced-rs/iced

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目