GitHub 上这么介绍的:一个免费的开源框架,用于构建强大、快速、优雅的 2D 和 3D 应用程序,这些应用程序可在 macOS 、Windows 、Linux 、iOS 、Android 和 Web 上运行,只需一个 Go 代码库,即可编写一次代码,随处运行。
我看有一定的潜力,希望能替代 fyne ,感觉写出来的界面会比 fyne 、GioUI 美观很多
![]() |
1
aqtata 2 天前 ![]() 我认为用 go 搞 UI 是条邪路
|
5
fds 2 天前
哇,好全能呀!就是回调形式的语法不太喜欢,但 UI 不用回调似乎也不合理。
|
![]() |
7
xtreme1 2 天前
@miniliuke #3 他指的应该是 goroutine 每次 native 调用都必须 pin 到一个系统线程上再构建出 native 栈, 假如单搞个系统线程跑事件循环, 用 js 也没差的. go 这一块确实有自己的劣势在的.
|
![]() |
8
guiyumin 2 天前
wails 不好吗
不挺好的吗 |
![]() |
10
shadowyue 2 天前
我觉得抛开 HTML 和 CSS 做 GUI 不是理智选择,这就是当下事实上的编写 UI 最主流的方式,无论谁来了都打不过。
如果不喜欢 JS 换成别的语言那还是行得通,完全抛开 HTML 和 CSS 等于抛弃绝大部分潜在用户。 |
![]() |
11
yangheng4922 2 天前
有点卡
|
![]() |
12
wh469012917 2 天前 ![]() @shadowyue 我们公司刚开始用 electron ,后面因为性能问题,改用用 QT ,做桌面端 GUI ,完全抛弃了 js ,所以要看场景,不能绝对
|
![]() |
13
dbskcnc 2 天前
目前 golang 的界面库还是算了,基本都是 toy 级别的,基本的 Ime 都没处理好,涉及视频更是直接完蛋
|
14
itakeman OP |
15
Z1076 2 天前 ![]() 好东西, 最近正好需要。
|
18
millken 2 天前
研究了很多 Golang UI 库,最终发现还是使用 WEB 构建 UI 是王道。
|
![]() |
19
iorilu 2 天前 ![]() 说真的, 我试了不少 gui 库
最后总结就是, 如果真想做产品, 长期升级迭代的, 就两种选择 1. 原生 gui, 比如 qt, 或 python pyqt 等 flutter 也算把, 如果愿意学的话, 另外就是微软哪些 2. webview 那套, 这个其实每个语言基本都有, electron, wails, tauri, pywebview 等等 |
![]() |
22
mogita 2 天前 via iPhone
多一个选择永远不是坏事。
|
![]() |
24
bbbblue 2 天前
如果是要长期主力写还是 electron 吧。。
之前学 maui 的经历告诉我。。移动跨平台可能可以用。。 但是移动+桌面端跨平台 快跑 用浏览器吧 浏览器是你最好的朋友 就是他比较吃内存。。。 |
![]() |
25
Leon6868 1 天前
看 UI ,这个技术栈是 go+flutter 吧
可以看看我前几个月发的讨论贴 https://v2ex.com/t/1142560 ,个人认为 webview 就是 GUI 最优解 |
![]() |
33
kuanat 1 天前
是不是该用跨平台框架来写 ui 是个哲学问题,即便你的立场为是,还是要继续抉择,要每个平台都用相同的(非原生风格)自定义 ui ,还是要每个平台上用原生的 ui 。基本上后者都是走浏览器了,因为没人或者团队能承担得起这样的维护成本。
在跨平台、自绘 ui 这个场景中,本质上要看在各个平台上底层用的什么 api ,楼上有人提到 go 的 goroutine 与系统线程 pinning 相关的硬伤,这个确实无解,因为现在的操作系统都是同样的 ui 线程逻辑。 这种项目最大的困难是长期稳定地维护下去。而且通常来说好看、小巧和兼容性强是不可兼得的。以 win 为例,想要小就必然对接 win32 api ,用这个写现代界面,光一个 dpi 自适应就头大。到了 linux 又会面临是 gtk/qt 还是协议层造轮子,qt 因为授权大部分时间会被排除在外,如果是直接 wayland 协议开始写,且不说什么消息循环都要手动,就天天跟着上游更新都是很大的工程量。 当然如果写的项目不需要长期维护,这类 ui 框架还是很有市场的。 |
34
humbass 1 天前
没有类似 html 中的类似 flex 的布局,写个界面是不是很蛋疼。
|
![]() |
35
iorilu 1 天前
@anivie 当然, qt 都 20 年了吧, 可以说 qt 是唯一的长期稳定跨平台 gui 框架
真做什么商业软件, 用这个肯定没错, 当然 pyside 一样, 我是指 qt 这一类东西 当然会 c++直接用原生 qt 也行 |
![]() |
36
rekulas 1 天前 ![]() 我觉得很有意义,说 web 一把梭的写自用工具确实方便,但是现在随便什么小工具都用 electron 之类的写,开发速度确实快界面也好看,但说实话都反胃了,一个 json 序列化小工具都能占几百 M 内存,遇到这种我连安装的欲望都没有,而且很多软件体验非常差(相比原生开发,感觉 electron 系的出 bug 概率要大不少),包括大厂的-例如钉钉
qt 虽然稳但是实在太重了,而且要做出好看点的 ui 难度可不小 webview2 是个好东西但是难以跨平台,而且对环境有要求 如果是做一些侧重后端处理,前端较为简单的软件,能跨平台的自绘 UI 库是个很不错的选择 |
![]() |
37
baton 1 天前
fyne 性能不行,多行文本框内容一多卡得很,我用 gotk3 速度快很多
|
![]() |
38
dimwoodxi27 1 天前 via Android ![]() @rekulas 现在部分人就喜欢用 webview 到处生产垃圾,性能完全没法和自绘 UI 比,但不管什么需求条件就是一股脑吹 webview ,代码注入 内部资源篡改 CPU 和内存调度完全不合理等这些问题是根本不会去看,最经典的口头禅就是为了效率,为了效率拉一坨屎
|
![]() |
41
Leon6868 1 天前
这个 demo 光是打开就耗费了 670+MB 的内存,稍微换几个页面就 1GB+了,只能说不如 Webview2
|
![]() |
42
kenilalexandra 1 天前
我相信未来 Web 端才是主流,用什么 GUI
|
![]() |
43
elechi 1 天前
ui 现在只要不是性能至上的,web 技术是王道,虽然我原来先很不屑 web ,用完以后真香
|
44
bxd5812127 1 天前
@aqtata 条条邪路通罗马
|
46
itakeman OP @Leon6868 看上面有人说包的 js+css ,如果你之前说的 gui 是最优解,我觉得对我这种不会 web 的未尝不是一个好的。内存大点就大点了,那些包的 web 的也是大的要死,起码这个自己还不用写 web 相关的,现在就等性能看看怎么样了
|
47
sine2 1 天前
从这个项目一开始就有关注,也提过 issue,感觉前期开发比较活跃,现在感觉进度放慢了。UI 有卡顿感,整体样式还是比较简洁好看的。
|
48
mutalisk 1 天前
fyne 的效率太烂了
|
49
fanhed 21 小时 14 分钟前
go 的 UI 库能 pure go 吗? 如果不能的话, 那真的没啥必要用
|
![]() |
51
jqtmviyu 10 小时 3 分钟前
我写小工具喜欢 wails, 体积小速度快. 缺点是内存会多 50-200M
|