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 官网,获取更多精彩内容!
警方通报网传中电科加班事件调查结果;拼多多解散恶意功能团队;逼死程序员诈骗千万的“翟欣欣案”一审宣判 | Q资讯
谷歌正式发布WebGPU!90多位贡献者研发6年,浏览器终于可以利用底层硬件了
新手用ChatGPT仅需数小时轻松构建零日漏洞,69家专业公司都检测不出来:“不仅能调用开源库,还能彻底重写源代码”
微信扫码关注该文公众号作者