写点什么

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

  • 2023-04-09
    北京
  • 本文字数:1134 字

    阅读完需:约 4 分钟

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/

2023-04-09 14:149725

评论 1 条评论

发布
用户头像
宣传的原生组件外观,看起来就是Qt的样式吧,假假的,和原生只有七分像。
2023-04-15 15:16 · 北京
回复
没有更多了
发现更多内容

看DLI服务4核心如何提升云服务自动化运维

华为云开发者联盟

Serverless 运维 运维自动化 华为云 DLI

作业一

Kiroro

标新立异的日志归档:用更少的内存归档大规模测试日志

陈磊@Criss

弹性计算的内部概念:弹性扩张、弹性收缩、弹性自愈

陈磊@Criss

架构师训练营第十周作业

Hanson

如何有效防止sql注入

Java旅途

Web前端性能优化,应该怎么做?

华为云开发者联盟

运维 大前端 HTTP js

作业二

Kiroro

架构师训练营第十周总结

Hanson

22种超全用户触点采集,易观方舟SDK又更新了

易观大数据

原创 | 使用JPA实现DDD持久化-R:数据的世界

编程道与术

Java hibernate DDD JDBC jpa

jmeter 执行python脚本

陈磊@Criss

python判断文件和文件夹是否存在、创建文件夹

陈磊@Criss

环信助力OFashion迷橙开辟海外直播带货新通路

DT极客

第十周.命题作业

刘璐

架构师培训第10周练习

小蚂蚁

Clover:解决Java8和Cobertura的问题以及解决方法

陈磊@Criss

该了解一波了!零基础入门Nginx

程序员的时光

nginx Docker

5G从小就梦想着自己要迎娶:高速率、低时延、大容量三个老婆

华为云开发者联盟

5G IoT 通信 华为云 NB-IoT

吴桐:数字货币具有稳定的避险性吗

CECBC

区块链 数字货币 链政经济

欲速也可达:Battle接口测试训练系统的1分钟快速说明

陈磊@Criss

高中生写LOL外挂1年狂赚500万,落网前刚买下120万保时捷...

程序员生活志

编程 程序员 外挂

推荐Scrum书籍

Bob Jiang

Scrum 敏捷

一文熟悉MySQL索引

书旅

MySQL 索引

架构师0期Week10作业2

Nan Jiang

Grafana和ES打造的Nginx的仪表盘

陈磊@Criss

PIP的报错Could not fetch URL https://pypi.org/

陈磊@Criss

两数之和

书旅

数据结构 算法 数据结构与算法

架构师0期Week10作业1

Nan Jiang

什么是死信队列

Java旅途

RabbitMQ

第十周.总结

刘璐

Slint 1.0正式发布,基于 Rust 的 原生GUI工具包已成熟_语言 & 开发_Tina_InfoQ精选文章