V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
AmrtaShiva
V2EX  ›  Go 编程语言

golang 的 UI 库

  •  
  •   AmrtaShiva · 2020-01-12 21:02:45 +08:00 · 11133 次点击
    这是一个创建于 1559 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 希望是可以跨平台 加移动端 一锅端
    • 看了几个
    • fyne 在我这里跨平台编译不过去 提示 x 的包无法 get 超时 然而 单独 get 么问题 VPS 跑一下各种依赖也没搞好
    • gioui 这个编译起来很方便 也没出什么毛病 然而写个 HelloWorld 要那么多 ...复杂性和效率...
    • go-sciter?这是个 HTML CSS 的 不知道放到安卓 iOS 能不能跑 。。。。 心累啊
    40 条回复    2021-05-12 13:09:18 +08:00
    mnssbe
        1
    mnssbe  
       2020-01-12 21:11:19 +08:00 via iPhone
    go 安装依赖需要科学出国
    manami
        2
    manami  
       2020-01-12 21:15:49 +08:00 via Android
    fyne 玩过一小段时间,坑太多了弃之
    lxml
        3
    lxml  
       2020-01-12 21:27:46 +08:00
    使用 go 1.13+ 设置一些 七牛云代理

    现在写 UI go 只能说基于 webaseembly 的能画个 hello world 就差不多了,wasm 本身就不成熟,go 写 UI 更不成熟,俩一碰就……
    Cbdy
        4
    Cbdy  
       2020-01-12 21:57:18 +08:00 via Android
    HTML/CSS/JS 不好吗?
    loading
        5
    loading  
       2020-01-12 22:27:57 +08:00 via Android
    直接调 chrome 不好么,node 那套不也是跑 webkit 么。
    ViggoSite
        6
    ViggoSite  
       2020-01-12 22:58:33 +08:00 via Android   ❤️ 1
    依赖问题,,,你需要 go mod
    airplayxcom
        7
    airplayxcom  
       2020-01-13 00:55:24 +08:00 via iPhone
    fyne 的坑是巨多 最近才接触的,马上弃坑了,不知道作者背景,我怀疑是应届生搞得。居然还有 7k 的 star....
    iamwho
        8
    iamwho  
       2020-01-13 02:18:02 +08:00
    如果你非要用 golang 搞 GUI,可以试试这个。

    https://github.com/therecipe/qt
    AmrtaShiva
        9
    AmrtaShiva  
    OP
       2020-01-13 03:06:31 +08:00
    @mnssbe 科学出国不是问题 VPS 都搞过 不好使 @manami 好吧 谢谢回复 @lxml 是不成熟然而别的不会 @Cbdy 凑合吧 @loading node 太重了 @ViggoSite 一直在用 go mod@airplayxcom 我也是感觉这个星标高的离谱和实际体验不成比例 @iamwho 之前装个 update 一次 按了个 Ctrl 加 C 结果什么都没了 6G 多的文件就这样白搞了一次...
    markx
        10
    markx  
       2020-01-13 04:03:24 +08:00
    @airplayxcom 可以具体举例说说什么样的坑?
    likai
        11
    likai  
       2020-01-13 06:02:17 +08:00 via Android
    试试 govcl 或者 wingui,虽然我也没试过
    cloudfstrife
        12
    cloudfstrife  
       2020-01-13 09:10:28 +08:00
    G3N,是一个 3D 引擎,也提供了 GUI 相关的组件。

    https://github.com/g3n/engine

    https://github.com/g3n/g3nd
    airplayxcom
        13
    airplayxcom  
       2020-01-13 10:15:55 +08:00   ❤️ 1
    @markx
    1.用到的所有组件貌似都木有 scroll 的功能,比如文本框输出超过当前窗口宽度会自动拉伸当前窗口,必须指定一个类似 NewGroupWithScroller 父容器。
    2.当 tab 容器在 NewGroupWithScroller 中使用时候,指定的 tabitem 在超出窗体大小时整个 tabitem 会出现整体滚动现象,而我的需求是当前 tabitem 列表与所在的 CanvasObject 滚动分离。
    3.tab 容器动态删除当前 tabitem 后,必须指定 select 一个已存在的其他 tabitem,不然会 panic,作者并未做动态响应。
    4.当删除 tab 容器所有 tabitem 时候,必须隐藏掉当前 tab 容器,注意是隐藏。有个场景就是 tab 容器包含子容器时候,父容器被删除完毕后,子容器其实是会在画布下层依然在工作,因为作者并未实现销毁功能。
    5.tabitem 没有点击事件,这也是我需要的功能。
    6.文本域在粘贴包含 Unicode 字符时候会 panic,已经提了,下一版会修正。
    7.文本域的粘贴会把 tab 制表符相关的内容替换为方框类似的不正常的字符。
    8.高分屏的适配,可能会在未来解决。

    以上是我目前遇到的坑点,可能是我使用的姿势不对,现在我的项目基本停摆了,考虑换掉。
    zarte
        14
    zarte  
       2020-01-13 10:18:30 +08:00
    有移动端?
    ArJun
        15
    ArJun  
       2020-01-13 10:19:51 +08:00
    这叫非主流编程吗?
    scnace
        16
    scnace  
       2020-01-13 10:24:11 +08:00 via Android   ❤️ 1
    如果可以 webview 套壳的话考虑下 GopherJS/vecty 啥的?
    zjsxwc
        17
    zjsxwc  
       2020-01-13 10:26:17 +08:00
    使用 golang-gotk3 和 glade 写图形界面程序,完美! https://github.com/mrccnt/gotk3-glade-example
    kwanzaa
        18
    kwanzaa  
       2020-01-13 10:27:48 +08:00
    还不如做成库用 Flutter 写 UI。
    iseejun
        19
    iseejun  
       2020-01-13 11:14:04 +08:00
    建议放弃,别问为什么
    AmrtaShiva
        20
    AmrtaShiva  
    OP
       2020-01-13 11:19:19 +08:00
    @zjsxwc 感谢 glade 不会用
    AmrtaShiva
        21
    AmrtaShiva  
    OP
       2020-01-13 11:20:58 +08:00
    @iseejun 我自己写了个小东东 想弄个 UI 界面 起码支持移动端 现在看来支持好的只有 gioui 然而他家的写起来看着好复杂 (我没写过)
    whitehack
        22
    whitehack  
       2020-01-13 11:38:05 +08:00
    有个只支持 windows 的

    https://github.com/whtiehack/wingui
    yuankui
        23
    yuankui  
       2020-01-13 11:45:15 +08:00
    有折腾的心,没有折腾的性
    zetaoyang
        24
    zetaoyang  
       2020-01-13 11:50:07 +08:00 via Android
    AmrtaShiva
        25
    AmrtaShiva  
    OP
       2020-01-13 12:31:58 +08:00
    @yuankui 不知道你说的性 具体指哪方面 如果说经验的话 我确实没有
    jitongxi
        26
    jitongxi  
       2020-01-13 12:46:35 +08:00
    go-sciter 其实还好,目前我一个产品用在 win 和 mac 效果都 ok, 但是 win 下面跑的时候, 挂着挂着就未响应了, 到现在都没能解决。
    blless
        27
    blless  
       2020-01-13 12:49:00 +08:00
    https://github.com/lxn/walk 没人说这个?
    falcon05
        28
    falcon05  
       2020-01-13 13:01:24 +08:00 via iPhone
    有啥想不开用 go 写 ui ?
    rekulas
        30
    rekulas  
       2020-01-13 13:15:47 +08:00
    歪个 如果不跨平台 可以考虑下这个 chrome 内核渲染
    https://github.com/del-xiong/miniblink
    AmrtaShiva
        31
    AmrtaShiva  
    OP
       2020-01-13 13:19:59 +08:00
    @falcon05 别的不会
    AmrtaShiva
        32
    AmrtaShiva  
    OP
       2020-01-13 13:20:29 +08:00
    @rekulas 不跨平台的一抓一大片
    mnssbe
        33
    mnssbe  
       2020-01-13 14:02:08 +08:00 via iPhone
    @zetaoyang 这个不是官方镜像
    zetaoyang
        34
    zetaoyang  
       2020-01-13 16:55:34 +08:00
    @mnssbe 官方镜像不是都 Q 了吗?
    mnssbe
        35
    mnssbe  
       2020-01-13 17:14:41 +08:00
    @zetaoyang 你在套娃?
    labulaka521
        36
    labulaka521  
       2020-05-27 09:47:21 +08:00 via Android
    请问找到了吗,我也想找个 pc 移动端一窝端的🤣
    AmrtaShiva
        37
    AmrtaShiva  
    OP
       2020-05-27 10:23:45 +08:00
    @labulaka521 #36 govcl 还凑合
    jqqjj
        38
    jqqjj  
       2020-08-17 11:44:45 +08:00
    @jitongxi 我也遇到过 sciter 在 win 下未响应的问题,发现 64bit 才会出现这个问题,现在我直接编译 32bit 的,没问题了
    jitongxi
        39
    jitongxi  
       2020-08-19 09:08:32 +08:00
    @jqqjj 哈哈哈,其实,你在 init 加上 runtime.LockOSThread(),就不会无响应了。gayhub 有人提出来了,是 golang 的携程会在多个线程乱跳,导致 ui 操作也跳到别的线程了。。
    zherrrrrrrr
        40
    zherrrrrrrr  
       2021-05-12 13:09:18 +08:00
    请问各位大佬,有类似 java 中 easyui 这样的 web ui 库吗,后端懂些 html 的也能写些工具。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2865 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 12:54 · PVG 20:54 · LAX 05:54 · JFK 08:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.