Golang 开发10个GUI图形界面扩展库
2020.10

fyne

项目地址 https://github.com/fyne-io/fyne 文档地址 https://fyne.io/develop/

Github Star 11.1k

非常强大,支持多平台,和移动设备 要求Go 1.12 以后版本

QT库

项目地址 https://github.com/therecipe/qt

文档地址 https://doc.qt.io/

Github Star 7.9k

QT是一个跨平台的C++应用程序开发框架。广泛用于开发GUI程序,这种情况下又被称为部件工具箱。也可用于开发非GUI程序,比如控制台工具和服务器。Qt使用于OPIE、Skype、VLC media player、Adobe Photoshop Elements、VirtualBox与Mathematica以及被Autodesk、欧洲空间局、梦工厂、Google、HP、KDE、卢卡斯影业、西门子公司、沃尔沃集团, 华特迪士尼动画制作公司、三星集团、飞利浦、Panasonic 所使用。

它是Digia公司的产品。Qt使用标准的C++和特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏。通过语言绑定,其他的编程语言也可以使用QT。

作为目前非常流行的图形库,qt有着出色的用户体验,很多linux桌面系统就是使用QT开发的。其次是因为作者更新很勤快,bug的修复比较及时。

最后是因为QT作为一种使用广泛的框架,文档丰富全面,社区活跃,如果你遇到了什么问题解决起来会更容易一些。另外也是跨平台支持:

UI

项目地址 https://github.com/andlabs/ui

Github Star 7.7k

非常小的基于webview的扩展库,优点是小,缺点也是小。 要求Go 1.8 以后版本

Walk

项目地址 https://github.com/lxn/walk

Github Star 4.9k

只支持windows。 要求Go 1.11 以后版本

Go-astilectron

项目地址 https://github.com/asticode/go-astilectron

Github Star 3.5k

这是一个基于election的扩展库,可以使用css,js,html来进行界面的设计和开发。

Gotk3

项目地址 https://github.com/gotk3/gotk3

Github Star 1.3k

gtk+3同样是一个使用广泛跨平台的GUI框架,它同样功能丰富,有一群优秀的开发者在维护。

不过和Qt的规模相比还略显得小了一些,而且gtk+和python一样存在2和3两个版本的断桥式飞跃,从gtk+2迁移至3会遇到不少小麻烦;

gtk+的文档也没有Qt那样详尽;以及gotk3的维护并不活跃。

最重要一点,gotk3在并发使用时需要使用额外的API,不能直接和goroutine配合。

Go-sciter

项目地址 https://github.com/sciter-sdk/go-sciter

Github Star 1.9k

这是一个基于sciter的绑定,sciter是非常流行的桌面客户端UI库,也是使用css,js,html来进行开发的,因此对于熟悉web开发的人上手并不难。

GoGi

项目地址 https://github.com/goki/gi

Github Star 761

这个t图形库可以支持2D/3D

Gowd

项目地址 https://github.com/dtylman/gowd

Github Star 281

使用HTML, CSS and NW.js.来进行发开发的扩展库,它也是基于web的UI库

Share