使用 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
項目,或直接使用預編譯命令行工具

  1. go get github.com/energye/energy

進入 energy 命令行目錄

  1. cd energy/cmd/energy

安裝命令行工具

  1. go install

執行安裝命令

  1. energy install .

快速入門

使用 energy 命令行工具自動安裝環境依賴 energy install .

以 example/simple 示例爲例

更新最新發布版本依賴

  1. 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)
}

項目打包

  1. 編譯:Go 程序編譯go build xxx.go 如果使用資源內置 (HTML、CSS、JavaScript、Image 等等) 會把資源編譯到執行文件內

  2. 複製:把執行文件複製到 ENERGY 環境的 CEF 目錄中即可

  3. 打包:使用製作安裝包工具將其製作爲安裝包, 查閱各系統平臺安裝包製作

  4. 最後:編譯後的程序或安裝包和 CEF 目錄不再需要配置環境, 在 CEF 根目錄可直接運行

Go 編譯命令

  1. 壓縮並隱藏 cmd 窗口  go build -ldflags "-H windowsgui -s -w", 注意: windows 需要隱藏 CMD 窗口

  2. 會壓縮 不隱藏 cmd 窗口 go build -ldflags "-s -w"

  3. 不壓縮 不隱藏 cmd 窗口 go build

系統支持

aVb4sx

項目截圖

Windows-10

Windows-7-32

Windows-7-64

Ubuntu-18.04.6

MacOSX

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/kh7dm3Xq32bD3b4Kolug4Q