govcl跨平台的Go语言GUI组件库

联合创作 · 2023-09-28 01:34

一、什么是govcl

GoVCL是完全开源的、免费的、跨平台Go语言GUI库。核心绑定自Lazarus创建的通用跨平台GUI库liblcl 。

二、为什么要自己做

现在开源的go UI库也有不少,自己也尝试简单使用过go-qt、lxn/walk、andlabs/ui、go-sciter等,但都不如意,缺失的太多,有些处在停止更新,有些二进制依赖太多太臃肿、有些组件太少、有些非原生、有些不易使用等等各种问题,基于这些原因我决定自己造个轮子。

三、学习govcl是否需要懂Pascal语言?

不需要懂Pascal语言,仅仅只需要了解控件的使用方法和相关的属性及事件之类的。除非你需要修改libvcl或者liblcl的源代码才会涉及到Pascal语言。

四、优/缺点

  • 优点
    UI库小,用UPX压缩下也就1M-2M大小的,无依赖,简单,特别是加上使用可视化的设计器或者res2go工具能快速生成UI,免去了手动创建的烦恼。控件多,属性多,事件多,对于一些工具开发足以。

  • 缺点
    因为UI库全是原生组件,那么要做到像DirectUI那样的就是很麻烦的事了,所以这算是govcl现在的一大遗憾吧。一些比较简单的美化界面还是相对容易做到。

五、支持平台

目前govcl支持WindowsLinuxmacOS并提供相应的预编译二进制供测试使用。如需支持更多的平台可参考Lazarus所支持的平台。

六、Go版本建议

当前开发基于go1.9.2版本,从govcl 1.2.0开始,最低只支持go1.9v1.2.0之前的已测在go1.5也可编译运行

七、已测试的各个系统平台情况

系统 已经测试系统版本 说明
Windows Windows XP、Windows7、Window10  
Linux Ubuntu 16.04、Linux Mint 17.1、Deepin 15.5、Linux Mint 19  
MacOS macOS 10.12、10.13  
Raspberry pi(ARM)    
浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报