RUST GUI库随笔

这两天耍起了rust的gui库。crate上放眼一看,五花八门说什么概念的都有,iced/slint/gtk4/qt/tauri这几个稍微有点讨论度,于是就开始作死,我居然一个一个的试下来了。估计这些gui开发者都不一定有我那么颠吧。

gtk4:要在Windows上用这货,得先弄个msys2下来,然后pcman再搞个编译器跟设计工具下来,再然后,设计工具出来的界面代码居然还有错的,再然后编译出来的可执行文件巨大无比而且运行速度贼慢。
扔掉。

iced:有很多人在用这个库,相当多的example在github里。但是这货硬是连个文档都没给,而且滚动的速度贼快,example里的代码都不一定正确。要用啥得先去看看有没这个API。这些家伙的脑袋都被驴踢了?

qt:没试rust的版本,要用rust的qt我不如直接python或者c++更直接,没必要给自己找麻烦。

tauri:官方有一个捡漏的中文文档。electron的套娃。前端可以直接使用nodejs,后端连接的rust。都用nodejs了直接electron就欧了,干嘛非要rust搞个后端????nodejs的应用软件场景本来就不是为了速度考虑的,不是后端套个rust就是神了。多此一举。

slint:这货是唯一一位全程rust的。有一个类似qss的自定义语言。编译后的程序可以放到树莓派这些嵌入式设备里跑。滚动更新也是相当的快。刚开始看的时候如果不多看几次它的文档,都不知道它那个slint怎么跟rust连接。熟悉了过后这货应该是目前我感觉为数不多能用的了。但是也仅限于工具,写项目这货也不行。

搞了两三天,rust的GUI还是不成熟。所以结论是现阶段用rust写非UI的代码就OK了,不要硬给它塞个界面去多此一举。因为如果要写UI类的小工具,Python yyds。对我而言,这个观点不接受反驳。
rust适合写webassembly、高性能高安全的command-line。

发表评论