Energy 是 Go 基于 CEF(Chromium Embedded Framework) 開發(fā)的框架蔑舞,內(nèi)嵌 CEF 二進(jìn)制,用于構(gòu)建Windows侠鳄、Mac OS X和Linux桌面應(yīng)用程序
項目簡介
energy是 Go 基于 CEF(Chromium Embedded Framework)
開發(fā)的框架,內(nèi)嵌 CEF 二進(jìn)制使用 Go 和 Web 端技術(shù) ( HTML + CSS + JavaScript ) 構(gòu)建支持Windows, Linux, MacOS跨平臺桌面應(yīng)用
基于Go和CEF跨平臺特性
Go和Web交互
在Go和Web技術(shù)基于IPC通信,可以在Go和Web交互數(shù)據(jù)截型、事件觸發(fā), 可以不使用 http 接口,就像調(diào)用語言本身函數(shù)一樣簡單
在Go中定義JS綁定類型變量儒溉,提供給Web端JS使用宦焦,實現(xiàn)Go變量或結(jié)構(gòu)對象數(shù)據(jù)同步
在JS監(jiān)聽事件,在Go中觸發(fā)JS事件顿涣,以達(dá)到Go調(diào)用JS函數(shù)和傳遞參數(shù)
在Go監(jiān)聽事件波闹,在JS中觸發(fā)Go事件,以達(dá)到JS調(diào)用Go函數(shù)和傳遞參數(shù)
開發(fā)環(huán)境
基本需求
golang >= 1.18
energy 開發(fā)環(huán)境
使用 energy 命令行工具自動安裝開發(fā)環(huán)境
獲取 energy
項目涛碑,或直接使用預(yù)編譯命令行工具
- go get github.com/energye/energy
進(jìn)入 energy 命令行目錄
- cd energy/cmd/energy
安裝命令行工具
- go install
執(zhí)行安裝命令
- energy install .
快速入門
使用 energy 命令行工具自動安裝環(huán)境依賴
energy install .
以example/simple示例為例
更新最新發(fā)布版本依賴
- go mod tidy
在IDE中運行simple 或 go run simple.go
example/simple 示例代碼
package main
import (
"github.com/energye/energy/v2/cef"
)
func main() {
//全局初始化 每個應(yīng)用都必須調(diào)用的
cef.GlobalInit(nil, nil)
//創(chuàng)建應(yīng)用
cefApp := cef.NewApplication()
//指定一個URL地址精堕,或本地html文件目錄
cef.BrowserWindow.Config.Url = "https://energy.yanghy.cn"
//運行應(yīng)用
cef.Run(cefApp)
}
項目打包
- 編譯:Go 程序編譯
go build xxx.go
如果使用資源內(nèi)置(HTML、CSS蒲障、JavaScript歹篓、Image等等)會把資源編譯到執(zhí)行文件內(nèi) - 復(fù)制:把執(zhí)行文件復(fù)制到ENERGY環(huán)境的CEF目錄中即可
- 打包:使用制作安裝包工具將其制作為安裝包, 查閱各系統(tǒng)平臺安裝包制作
- 最后:編譯后的程序或安裝包和CEF目錄不再需要配置環(huán)境,在CEF根目錄可直接運行
Go編譯命令
- 壓縮并隱藏cmd窗口
go build -ldflags "-H windowsgui -s -w"
, 注意: windows需要隱藏CMD窗口 - 會壓縮 不隱藏cmd窗口
go build -ldflags "-s -w"
- 不壓縮 不隱藏cmd窗口
go build
系統(tǒng)支持
32位 | 64位 | 測試系統(tǒng)版本 | |
---|---|---|---|
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 |