首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Slint 1.0正式发布,基于 Rust 的 原生GUI工具包已成熟

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

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

Slint 可用于为各种操作系统和处理器架构开发 UI,包括 Linux、macOS、Windows、WebAssembly、Blackberry QNX 和裸机。它允许 JavaScript 开发人员为嵌入式和桌面应用程序创建原生用户界面。

Slint 曾经被称为 SixtyFPS,特点是既快又小,“使用 Slint 构建的图形应用程序可以在 RAM 小于 300 kB 的系统上运行,例如 Raspberry Pi Pico,”SixtyFPS GmbH 的联合创始人 Olivier Goffart 曾表示,该工具是用 Rust 编写的,但附加了 C++ 和 JavaScript 的绑定,允许开发人员与 JavaScript、Rust 或 C++ 库交互以构建 UI 界面。

Slint 的另一位联合创始人是 Simon Hausmann,他们两位在当时的挪威公司 Trolltech 工作时相识,该公司在被诺基亚收购之前创建了 Qt C++ 工具包。后来 Goffart 搬到柏林创建了自己的公司,但两人依然在 Qt 生态系统中。“我们非常清楚人们在为嵌入式设备或桌面构建复杂的用户界面时会遇到什么样的问题,”Hausmann 说。“我们还知道 Qt 积累了很多遗留问题,这些遗留问题使产品变得笨重,并且在某些方面很不灵活。我们觉得是时候重新开始了。”

Qt 虽然有其他语言的绑定,但根据 Goffart 的说法,“所有的文档,一切都在 C++ 上……像 C++ 这样的系统语言并不是 UI 的最佳语言。它们是实现库本身的好语言,但应用程序的逻辑可以使用更高级的语言。”而且“在 15 到 20 年内,将很难找到 C++ 开发人员,”Hausmann 说。“我们想看看是否有可能为未来构建一些不受 C++ 束缚的东西。”所以 Slint 是有意识地弃用 C++。

该团队表示,他们从头开始构建了 Slint ,考虑了可扩展性、包容性、工具性和跨平台兼容性,能够加快 UI 开发过程。

最终,总共 50 位贡献者花费了三年,Slint 1.0 版正式推出,“这是一个重要的里程碑。与之前的版本相比,1.0 版仅引入了较小的 API 清理和错误修复,”宣布新版本的团队博客文章称。“1.x 系列标志着 Slint 现在已经从‘开发阶段’毕业,可以用于生产项目了。”

另外,Slint 有自己的声明性语言来描述用户界面,在概念上类似于 QML(Qt 建模语言)或 Microsoft 的 XAML。这使得像SlintPad这样的演示成为可能,开发人员可以在其中编写 Slint 设计标记语言并通过 Wasm 立即查看它。同样,Visual Studio Code 有一个扩展,可提供 Slint 标记的即时预览。

更多阅读:

https://slint-ui.com/blog/announcing-slint-1.0.html

https://thenewstack.io/dev-news-rust-based-slint-matures-and-shopify-cleans-up/

https://devclass.com/2023/04/06/interview-the-story-behind-slint-1-0-a-new-cross-platform-gui-toolkit-coded-in-rust/

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/sJ8oyZAf7uiFL5zxGsWT
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券