使用 GO 語言開發跨平臺桌面應用
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
系統支持
項目截圖
Windows-10
Windows-7-32
Windows-7-64
Ubuntu-18.04.6
MacOSX
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/kh7dm3Xq32bD3b4Kolug4Q