Slint 1.0 正式发布,Rust 编写的原生 GUI 工具包


Slint 1.0 已发布,标志着项目已顺利从开发阶段“毕业”,可正式用于生产环境。

1.0 文档:https://slint-ui.com/releases/1.0.0/docs/slint/

Slint(最初称为"SixtyFPS")是一个 Rust 编写的综合性 UI 工具包,用于为桌面和嵌入式设备构建原生用户界面。其开发团队希望将 Slint 打造成下一代 GUI 工具包,因此从头开始构建项目时就考虑了可扩展性、包容性、工具性和跨平台兼容性。

Slint 的定位是一个支持多语言、适配任意显示屏、且高效流畅的用户图形接口工具包。设计目标包括:

  • 可扩展:在连接到设备的任何屏幕上运行,从台式计算机到低功耗嵌入式设备。
  • 轻量级:能够在几百KB内存的场景中运行,并且需要很少的处理能力。
  • 原生支持:Slint 支持多种目标平台,从嵌入式设备到桌面应用,包括移动设备和 Web。

开发团队表示,使用 Slint 构建的图形应用程序可以在内存小于 300 kB 的系统上运行,例如包含 264kB RAM 和 ARM Cortex-M0+ 处理器的 Raspberry Pi Pico。因此,Slint 非常适合为嵌入式设备应用程序开发 UI。

据介绍,Slint 使用了声明式编程来简化 UI 的开发,优化应用程序开发和性能的方法是:

  • 用声明式语言来描述 UI,使用的语法提供了一种广泛的方式来描述各种图形元素,同时易于阅读、编写和学习
  • Slint 编译器对描述 UI 的代码进行优化并翻译成原生代码
  • 采用任何语言编写的业务逻辑,可通过使用 Slint 提供的特定于语言的 API 与 UI 连接

Slint 架构如下:

控件支持:

示例:

  • 不同平台的原生桌面小部件(Windows、macOS、Linux)

  • WebAssembly

Slint 完全采用 Rust 实现,同时支持不同的编程语言,目前为 C++、JavaScript 和 Rust 提供了 API。

详情查看发布公告。


相關推薦

2023-06-28

Slint 1.1 的发布,这是 1.0 里程碑后的第一个重要功能更新。 除了新功能,Slint 1.1 带来了新的免版税开源许可证:之前 Slint 遵循 GPLv3 和专有商业许可,现在有了新的免版税许可选项。 此外,Slint 的示例和教程现在已获得 MIT 许

2023-11-13

Slint(最初称为 "SixtyFPS")是一个 Rust 编写的综合性 UI 工具包,用于为桌面和嵌入式设备构建原生用户界面。 近日,Slint 发布了 1.3 版本,引入许多增强开发体验的新功能和改进。 下载地址:https://github.com/slint-ui/slint/releases/

2022-10-07

Rust 编写的大型 COSMIC 桌面项目,他们决定不再使用 GTK 工具包,而是使用 Iced-Rs 作为替代,后者是原生 Rust 跨平台图形工具包。 参与 COSMIC 项目的一位 System76 工程师在 Reddit 上评论了 COSMIC 使用 Iced 工具包的情况:

2022-12-13

egui 0.20 已发布。egui 是易于使用、可移植的即时模式 (immediate mode) GUI 库,采用 Rust 编写,可运行在 Web 和原生应用中。 更新亮点 支持 thin space 添加与 AccessKit 的可选集成,以实现平台可访问性 APIs (#2294) 破

2023-06-06

Blink 1.0 已正式发布。 Blink 是无特权用户空间虚拟机,支持在任何 POSIX 平台上模拟 x86-64-linux 二进制文件,声称是最小的 x86 Linux 模拟器。 总的来说,它是一个 220kb 的无依赖静态二进制文件,实现了大约 600 条 x86 指令和 180 条

2023-03-03

布:经过近一年的开源研发工作,时序数据库 CeresDB 1.0 正式发布,达到生产可用标准。 CeresDB 1.0 官方中文文档:https://docs.ceresdb.io/cn/ CeresDB 1.0 核心特性介绍 存储引擎 支持列式混合存储 高效 XOR 过滤器 云原生分布

2022-05-05

egui 0.18 已发布。egui 是易于使用、可移植的即时模式 (immediate mode) GUI 库,采用 Rust 编写,可运行在 Web 和原生应用中。 更新亮点 在 egui 中嵌入 3D 渲染 在明亮模式下提供更好的文本对比度 新增 egui_extras::Table 添加Plot::all

2023-10-18

定性、引入新的预览模式、引入 fix safety 等级,以及执行正式的版本控制策略。 新的预览模式 通过预览模式,用户可自行选择体验新功能——用于启用新规则、不稳定修复和实验性代码分析。 [tool.ruff] preview = true 引

2022-06-20

Tauri 1.0 已正式发布。 Tauri 是一个桌面 UI 框架,可让开发者使用每个平台的 Webview 技术栈为所有主要桌面操作系统构建应用程序,目前支持 Windows/macOS/Linux 等平台。开发者通过 Tauri 几乎可以使用任何编译为 HTML、JS 和 CSS 的前端

2023-09-29

egui 0.23 版本已经发布了。egui 是易于使用、可移植的即时模式 (immediate mode) GUI 库,采用 Rust 编写,可运行在 Web 和原生应用中。 此版本包含一个简单且强大的图像 API: // Load from web: ui.image("https://www.example.com/some_image.png"); //

2023-09-10

2022年9月8日,Javascript运行时Bun正式发布1.0版本,标志着这个由前Facebook工程师创建的项目正式进入稳定生产可用阶段。 Bun的愿景是通过深度整合,让Javascript开发“快如闪电”。这个新生力量是否能撼动Javascript界老牌霸主Node的

2022-03-22

olatey 迎来了自己的 11 周岁。 2011 年 3 月 21 日 Chocolatey 正式诞生,并于两天后发布了首个版本。Chocolatey 软件公司的创始人 Rob Reynolds(@)编写并提交了第一行代码。Chocolatey 的目标很简单,就是为 Windows 提供一个通用的软件包

2022-12-02

的 ClamAV 于 2002 年发布,在首次发布近 20 年后,ClamAV 1.0 正式推出。 ClamAV 1.0.0 现已稳定,可通过 ClamAV.net 或 Docker Hub 下载。ClamAV 1.0.0 包括以下变化: 主要变化 支持解密用默认密码加密的基于 OLE2 的只读 XLS 文件。默认密码

2022-12-25

Meson 1.0 已正式发布,此版本带来如下增强改动: 支持带有“prefix”关键字参数的数组, 从 cpp/objcpp 警告级别 1 中删除一些标志 各种开发环境改进 支持字符串上的“in”运算符 “warning-level= everything”选项 Rust 模块被