Golang 跨平台轻量GUI界面对比:Wails vs Fyne vs Webview

为什么要说是轻量GUI?因为不想用 Electron 这样的庞然大物。下面的这些 GUI 编译出来最多也就 50M,压缩后只有 20M,还算可以。

Wails:Github 4.2k

C/S模式,一个后端服务,一个前端页面作为UI。前端可以使用 Vue / React / Angular,可以说很适合偏前端的选手。

但是前端页面用系统内置浏览器进行渲染。这就导致一个问题,目前 Windows 下只能使用 IE11。而且据我测试,在 Windows 10 编译不出 exe 文件来。

Fyne:Github 13.8k

非 C/S 模式,UI都是由 Golang 写出来的,界面很漂亮,代码也很简单。

Golang 跨平台轻量GUI界面对比:Wails vs Fyne vs Webview

比如写个这样的 hello world 界面:

Golang 跨平台轻量GUI界面对比:Wails vs Fyne vs Webview

需要的代码仅仅是:

package main

import (
	"fyne.io/fyne/v2/app"
	"fyne.io/fyne/v2/container"
	"fyne.io/fyne/v2/widget"
)

func main() {
	a := app.New()
	w := a.NewWindow("Hello")

	hello := widget.NewLabel("Hello Fyne!")
	w.SetContent(container.NewVBox(
		hello,
		widget.NewButton("Hi!", func() {
			hello.SetText("Welcome :)")
		}),
	))

	w.ShowAndRun()
}

整个编码过程相对简单,很容易就可以写出这样的界面来:

Golang 跨平台轻量GUI界面对比:Wails vs Fyne vs Webview

当然,你得先解决中文字符的问题,否则会这样:

Golang 跨平台轻量GUI界面对比:Wails vs Fyne vs Webview

以及这样:

Golang 跨平台轻量GUI界面对比:Wails vs Fyne vs Webview

注意一个点,Fyne 编译出来的程序在 Windows Server 上跑不起来,因为显卡驱动永远是 OpenGL 1.1 且无法升级,而 Fyne 需要的是 OpenGL 2.0 以上。

Webview:Github 8.8k

貌似也是基于系统浏览器,但由于有 fyne 了,我就没试了,主要是首页的 C/C++ 代码让人看得头大,虽然不知道有没有关联。但我觉得,人家既然写出来了,说明肯定会用上的……

最后,记得给我点个赞~

展开阅读全文

页面更新:2024-04-27

标签:界面   庞然大物   首页   中文   选手   字符   要说   浏览器   过程   模式   页面   代码   简单   文件   系统   平台   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top