rust gui库太多了…
rust好牛逼,C++好low。结果吹了这么多年,rust连1%都上不去,C++一直排前几下不来~
rust gui库太多了…
我现在知道的比较好用的,就只有ICED和TAURI
当然也有,像是GTK和QT的绑定了
我现在知道的比较好用的,就只有ICED和TAURI
当然也有,像是GTK和QT的绑定了
egui
https://github.com/emilk/egui
https://www.egui.rs/
vizia
https://github.com/vizia/vizia
Freya
https://github.com/marc2332/freya
https://freyaui.dev/
yakui
https://github.com/SecondHalfGames/yakui
Slint
https://github.com/slint-ui/slint
https://slint.dev/
kas
https://github.com/kas-gui/kas
Druid
https://github.com/linebender/druid
https://linebender.org/druid/
egui
https://github.com/emilk/egui
https://www.egui.rs/
vizia
https://github.com/vizia/vizia
Freya
https://github.com/marc2332/freya
https://freyaui.dev/
yakui
https://github.com/SecondHalfGames/yakui
Slint
https://github.com/slint-ui/slint
https://slint.dev/
kas
https://github.com/kas-gui/kas
Druid
https://github.com/linebender/druid
https://linebender.org/druid/
-
Druid基于Dioxus,Dioxus基于Rauri,但是开放的接口还不完善,API也太少
-
Slit是QT的转制,看起来还不错,但是商业应用需要收费
-
egui界面过于简约,字体渲染也有点问题
-
iced相对以上更加完善,但是包括鼠标缩放,边框处理,图片加载,(一些的功能会依赖GTK,多媒体支持不够完善)
其他的没有测试过,暂时功能完善的只有Tauri,iced也可以支持写小工具
-
Druid基于Dioxus,Dioxus基于Rauri,但是开放的接口还不完善,API也太少
-
Slit是QT的转制,看起来还不错,但是商业应用需要收费
-
egui界面过于简约,字体渲染也有点问题
-
iced相对以上更加完善,但是包括鼠标缩放,边框处理,图片加载,(一些的功能会依赖GTK,多媒体支持不够完善)
其他的没有测试过,暂时功能完善的只有Tauri,iced也可以支持写小工具
还能再飞飞。目前不知道哪个好用。。。
Popular Events
More
Pop!_OS 是一个开源的 Linux 发行版,基于 Ubuntu,并具有定制的 GNOME 桌面环境 —— COSMIC。该发行版由美国 Linux 电脑制造商 System76 开发。
由于 Pop!_OS 基于 Ubuntu,其发布周期与 Ubuntu 也保持一致,通常会在四月和十月发布一次新版本,而长期支持版本则是每两年发布一次。每个非 LTS 版本在下一版本发布后还将继续支持三个月,而 LTS 版本则是可以获得五年支持。
从 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 版本?
相关工程师表示: 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,一定要学