写点什么

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:149398

评论 1 条评论

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

项目进度管理 | 如何为项目制定里程碑?

万事ONES

项目管理 研发管理 研发管理工具 ONES

重塑价值:新一代ITSM平台的建设、咨询与实施

云智慧AIOps社区

ITSM 智能运维

150亿美元,CANVA可画市场价值为何堪比金蝶、用友?

ToB行业头条

SaaS 可画 品牌视觉管理

初探Deno.js

★忆先★

deno

商用RTC vs 基于开源WebRTC自研 开发者该如何选择?

融云 RongCloud

线上程序cpu占用过高、程序死锁,该如何定位问题?

李尚智

Keepalived+Nginx 搭建高可用集群

逸少

nginx 高可用 keepalive

网络研讨会|想弄明白应用安全?我们为你准备了5个锦囊!

鉴释

DevSecOps 安全编码规范 应用安全 静态分析

Java 连接操作 MySQL 数据库(增删查改操作)

若尘

MySQL 数据库 java编程 驱动 6月日更

朋友乔迁住新房 禧大福酒竟成为宴席最大赢家

Geek_50a546

HarmonyOS Connect伙伴峰会于厦门举办 硬件生态快速发展

科技汇

使用poetry进行Python项目开发

★忆先★

Python

用 Go struct 不能犯的一个低级错误!

煎鱼

Go 语言

校友会小程序开发笔记五:找校友功能模块设计与实现

CC同学

校友录小程序

警惕商标到付快递的骗局

石云升

商标 诈骗 6月日更

Python3.10中的结构化模式匹配语法

★忆先★

Python

优秀的 Scrum Master 应当是仆人式的领导

万事ONES

Scrum 敏捷开发 ScrumMaster ONES

智慧水务|大坝水利可视化管理,综合态势一屏掌握

一只数据鲸鱼

数据可视化 智慧水务 三维可视化 水利 水力发电

使用 Python 对数据进行压缩

★忆先★

全面赋能泛娱乐社交场景

anyRTC开发者

音视频 WebRTC 泛娱乐社交

向996宣战!快乐工作,健康生活的互联网要来了吗?

架构精进之路

话题讨论 话题 996 6月日更

算法导论的道与术、工程师思维奠定能走多远-John 易筋 ARTS 打卡 Week 51

John(易筋)

ARTS 打卡计划

Python——字典的遍历

在即

6月日更

Android客户端网络预连接优化机制探究

vivo互联网技术

android TCP HTTP

为什么服务实例在隔离之后还在继续处理请求?

BUG侦探

TCP 半关闭连接 接收缓存

第一次见家长送禧大福酒好吗?

Geek_50a546

一文介绍备机重建各种方法的实现机制

华为云开发者联盟

主机 集群 GaussDB(DWS) 备机重建 备机

专访关涛:阿里EB级大数据体系,背后的计算平台竟是这样(采访提纲)

花花

试用期 签约计划

一文讲全了Python类和对象内容

华为云开发者联盟

Python

保姆级教学,22张图揭开ThreadLocal

程序猿阿星

内存泄露 ThreadLocal 线程安全 弱引用 ThreadLocalMap

JAVA笔记(四)--三大结构语句

加百利

Java 后端 6月日更 结构语句

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