[Industry News] 为开发新版 Rust 桌面环境,Pop!_OS 将跳过 22.10 版本
Tofloor
poster avatar
deepin
2024-02-01 05:29
Author

Pop!_OS 是一个开源的 Linux 发行版,基于 Ubuntu,并具有定制的 GNOME 桌面环境 —— COSMIC。该发行版由美国 Linux 电脑制造商 System76 开发。
image.png
由于 Pop!_OS 基于 Ubuntu,其发布周期与 Ubuntu 也保持一致,通常会在四月和十月发布一次新版本,而长期支持版本则是每两年发布一次。每个非 LTS 版本在下一版本发布后还将继续支持三个月,而 LTS 版本则是可以获得五年支持。
image.png

从 21.04 版本开始,Pop!_OS 就在系统中使用了一个全新的定制版 GNOME 桌面环境,称为 COSMIC(Computer Operating System Main Interface Components 的首字母缩写),但由于 System76 认为 GNOME 存在很多局限性,以及他们与 GNOME 开发者在桌面体验上的分歧,System76 决定将创建一个不基于 GNOME 的新桌面环境,这个桌面环境将用 Rust 编写,并开发成类似于 21.04 版本以来使用的 COSMIC 桌面。

尽管Pop!_OS 在发布 22.04 LTS 版本后,一直到现在仍没有放出任22.10相关版本的预览、测试或 RC 版本,鉴于系统新版本似乎遥遥无期,近日就有网友在 Reddit 上询问 Pop!_OS 官方是否会跳过 22.10 版本?

image.png

相关工程师表示: GTK 是最低效的 GUI 工具包之一,因为其使用的 GObject、C 及其通用的布局和渲染方法。GTK 的每个方面都被认为是当今软件开发和 GUI 架构的不良实践。其最大的问题之一是数据、逻辑和 UI 深度捆绑。因此除非所有代码都被丢弃,并且以与 Iced 类似的方式在 Rust 中从头开始创建新的工具包,否则无法解决缺点

在Rust Iced库 中,数据与桌面小部件是分开的。开发者从一个应用程序结构开始作为模型,它存储了您的应用程序在构建其布局时需要的所有状态。每当收到消息并且状态发生更改时,都会调用一个视图方法,并且此视图方法将整个布局描述为一个状态机。然后将之前的布局进行比较和差异化,以便渲染器仅渲染两者之间的差异。此外还有一些巧妙的技术可以在未来用于减少所需的视图更新次数。当然最好的部分之一是,开发者不需要在运行时使用 Iced 加载数十个巨大的库 —— 因为它有一个完全静态的二进制文件的选项。

[内容转载链接]:为开发新版 Rust 桌面环境,Pop!_OS 将跳过 22.10 版本

[Iced库的github链接]:https://github.com/iced-rs

[Popi _os项目的github链接]:https://github.com/pop-os

最后,我只能和现在的C/C++程序猿们要说的一件很重要的事情:rust,一定要学

image.png

Reply Favorite View the author
All Replies
爱开发
deepin
2024-02-01 09:17
#1

rust gui库太多了…

Reply View the author
北冥夜未央
deepin
Ecological co-builder
2024-02-01 10:24
#2

rust好牛逼,C++好low。结果吹了这么多年,rust连1%都上不去,C++一直排前几下不来~

Reply View the author
black_white_bear
deepin
2024-02-01 14:02
#3
爱开发

rust gui库太多了…

我现在知道的比较好用的,就只有ICED和TAURI

当然也有,像是GTK和QT的绑定了

Reply View the author
爱开发
deepin
2024-02-01 15:13
#4
black_white_bear

我现在知道的比较好用的,就只有ICED和TAURI

当然也有,像是GTK和QT的绑定了

Reply View the author
black_white_bear
deepin
2024-02-01 15:28
#5
  • Druid基于Dioxus,Dioxus基于Rauri,但是开放的接口还不完善,API也太少

  • Slit是QT的转制,看起来还不错,但是商业应用需要收费

  • egui界面过于简约,字体渲染也有点问题

  • iced相对以上更加完善,但是包括鼠标缩放,边框处理,图片加载,(一些的功能会依赖GTK,多媒体支持不够完善)

其他的没有测试过,暂时功能完善的只有Tauri,iced也可以支持写小工具

Reply View the author
爱开发
deepin
2024-02-01 18:28
#6
black_white_bear
  • Druid基于Dioxus,Dioxus基于Rauri,但是开放的接口还不完善,API也太少

  • Slit是QT的转制,看起来还不错,但是商业应用需要收费

  • egui界面过于简约,字体渲染也有点问题

  • iced相对以上更加完善,但是包括鼠标缩放,边框处理,图片加载,(一些的功能会依赖GTK,多媒体支持不够完善)

其他的没有测试过,暂时功能完善的只有Tauri,iced也可以支持写小工具

还能再飞飞。目前不知道哪个好用。。。

Reply View the author