Energy 是 Go 基于 CEF(Chromium Embedded Framework) 开发的框架,内嵌 CEF 二进制,用于构建Windows、Mac OS X和Linux桌面应用程序
项目简介
energy是 Go 基于 CEF(Chromium Embedded Framework)
开发的框架,内嵌 CEF 二进制使用 Go 和 Web 端技术 ( HTML + CSS + JavaScript ) 构建支持Windows, Linux, MacOS跨平台桌面应用
基于Go和CEF跨平台特性
Go和Web交互
在Go和Web技术基于IPC通信,可以在Go和Web交互数据、事件触发, 可以不使用 http 接口,就像调用语言本身函数一样简单
在Go中定义JS绑定类型变量,提供给Web端JS使用,实现Go变量或结构对象数据同步
在JS监听事件,在Go中触发JS事件,以达到Go调用JS函数和传递参数
在Go监听事件,在JS中触发Go事件,以达到JS调用Go函数和传递参数
开发环境
基本需求
golang >= 1.18
energy 开发环境
使用 energy 命令行工具自动安装开发环境
获取 energy
项目,或直接使用预编译命令行工具
- go get github.com/energye/energy
进入 energy 命令行目录
- cd energy/cmd/energy
安装命令行工具
- go install
执行安装命令
- energy install .
快速入门
使用 energy 命令行工具自动安装环境依赖
energy install .
以example/simple示例为例
更新最新发布版本依赖
- go mod tidy
在IDE中运行simple 或 go run simple.go
example/simple 示例代码
package main
import (
"github.com/energye/energy/v2/cef"
)
func main() {
//全局初始化 每个应用都必须调用的
cef.GlobalInit(nil, nil)
//创建应用
cefApp := cef.NewApplication()
//指定一个URL地址,或本地html文件目录
cef.BrowserWindow.Config.Url = "https://energy.yanghy.cn"
//运行应用
cef.Run(cefApp)
}
项目打包
- 编译:Go 程序编译
go build xxx.go
如果使用资源内置(HTML、CSS、JavaScript、Image等等)会把资源编译到执行文件内 - 复制:把执行文件复制到ENERGY环境的CEF目录中即可
- 打包:使用制作安装包工具将其制作为安装包, 查阅各系统平台安装包制作
- 最后:编译后的程序或安装包和CEF目录不再需要配置环境,在CEF根目录可直接运行
Go编译命令
- 压缩并隐藏cmd窗口
go build -ldflags "-H windowsgui -s -w"
, 注意: windows需要隐藏CMD窗口 - 会压缩 不隐藏cmd窗口
go build -ldflags "-s -w"
- 不压缩 不隐藏cmd窗口
go build
系统支持
32位 | 64位 | 测试系统版本 | |
---|---|---|---|
Windows | 支持 | 支持 | Windows 7、Windows 10 |
MacOSX | N/A | 支持 | MacOSX 10.15 |
Linux | 自编译 | 支持 | Deepin20.8、Ubuntu18.04、LinuxMint21 |
Linux ARM | N/A | 自编译 | Kylin-V10-SP1-2107 |