go html桌面,用 Go 开发桌面应用程序(GUI):Webview、Lorca 与 Electron

本文探讨了使用Go开发桌面应用程序的三种方法:Electron、Lorca和Webview。Lorca利用Chrome并通过dev-tools communication protocol实现简单易用的GUI,而Webview允许更深度的自定义但需要更多工作。Electron具有高度可定制性但体积较大,与Go集成较为复杂。文章比较了它们的可定制性、简单性和二进制大小,建议根据需求选择适合的工具。
摘要由CSDN通过智能技术生成

我想构建一个本地 Go 桌面应用程序,有几种方法可以做到:Electron[1]:将 Node.js[2] 和 Chromium[3] 浏览器绑定在一起,以创建一个打包的本地 Web 应用程序。可与 Go 框架(例如 go-app[4] 或 go-astilectron[5])一起使用。

Lorca[6]:使用本地安装的 Chrome 浏览器,通过 dev-tools communication protocol[7] 实现。

Webview[8]:使用 webview[9] 创建一个本地窗口,并使用 CGo 绑定在其中渲染应用程序。

我已经写过有关构建一个简单的 electron 应用程序的文章[10],因此本文将探讨如何使用 Lorca 和 Webview 构建应用程序,然后比较这三种的不同。

Lorca

Go 中一个简单的 Lorca[11] 应用:func main() {

// Create UI with data URI

ui, _ := lorca.New("data:text/html,"+url.PathEscape(`

Hello

Hello, world!

`), "", 600, 200)

defer ui.Close()

// Create a GoLang function callable from JS

ui.Bind("hello", func() string { return "World!" })

// Call above `hello` function then log to the JS console

ui.Eval("hello().then( (x) => { console.log(x) })")

// Wait until UI window is closed

}

因为复杂性被隐藏了,所以看起来非常简单!上面的代码打开一个 Chome 窗口,通过 websocket 连接到其 dev-tools[12] 端点,发送要加载的 HTML,并提供 Go 和 JS 之间的通信:

format,png

更酷的是,您可以在 Chrome 中调用 JS 函数并在 Go 中获取输

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值