nwui —— 又一个go语言图形界面解决方案

Github: https://github.com/go-nwui/nwui

最近开的一个大坑,具体实现就是自动生成htm+css+js然后调用nw.js来显示

界面的编写自认为是go的所有ui框架里最直观的(接近QML?),同时也非常容易编写自定义控件

项目还在非常初期的阶段,发出来希望能收点star作为开发动力

例子:

&Window{
    Title:  "window",
    Width:  800,
    Height: 600,
    OnExit: func() {
        fmt.Println("exit")
    },
    Controls: []interface{}{
        &Button{
            ID:   "btn0",
            Text: "button",
            OnClick: func() {
                text := GetConByID("btn0").(*Button).Text
                fmt.Println(text, "clicked!")
            },
        },
    },
}

以及有一个早期的截图:

img

共 18 个回复


newmin

非常棒,已加星

# 1

facat

依赖nodejs?

# 2

hanswim

看起来很不错的样子!

# 3

snake117

已加星,加油

# 4

heimeil

意义不大,用node实现更简单,还不如基于Chromium开发一个支持go的浏览器(类似JS在浏览器中的效果)

# 5

akin520

看样子不错呀

# 6

gs272

新手,很感兴趣,但是不知道这是种什么机制,例子里的代码运行只是个web服务。

# 8

JM_Joy

这个挺不错的嘛

# 9

Bluek404

@facat 不单独依赖,nw.js中自带node.js(现在用的好像是io.js)

@heimeil 难度太大,玩不来。如果你开发了一个的话,我一定会去贡献代码的

@gs272 其实就是自动生成网页然后调用nw.js来显示(当然中间还涉及各种控件的处理)

# 10

gs272

能否给点详细的资料,怎么实现这个图形界面,这个图形界面很不错,虽然菜鸟一枚,希望能加入,当是学习!

# 11

heimeil

@Bluek404 我很菜,对Chromium这东西没什么了解,如果有人开头我也会硬着头皮上的

# 12

lightbee

我感觉实现一个chromium的gui系统,不要v8直接用go去替代js,因为go比起js来说更简单有效,这样就不需要v8引擎了,另外还可以实现css3和html5的变种用作将表现与结构分离,用opengl作为其渲染引擎,这样甚至可以实现一个linux的桌面环境,我觉得这样一来才更有意义。

# 13

diskay

虽然大部分GUI都已经弃坑,但是这个还在依旧疯狂更新着,几乎能想到的时候上去一看,哦,又更新了…https://github.com/therecipe/qt

# 15

jimmykuu

嗯,这个算是目前最好的,包括打包工具也做的不错。

# 16

snake117

简直无奈,其实这个跨平台很不错的。编写起来也比较简单。

话说为啥总有人想让go的gui也尽善尽美,术业有专攻,go在擅长之外的功能只需要实用就够了啊。

# 17