使用Go语言开发跨平台桌面应用

1,479 阅读2分钟

项目简介

Energy 是 Go 基于 CEF(Chromium Embedded Framework) 开发的框架,内嵌 CEF 二进制,用于构建Windows、Mac OS X和Linux桌面应用程序

使用 Go 和 Web 端技术 ( HTML + CSS + JavaScript ) 构建支持Windows, Linux, MacOS跨平台桌面应用

基于Go和CEF跨平台特性

特性

> 具有丰富的CEF API 和 LCL 系统原生小部件
> 开发环境简单, 编译速度快, 只需要Go和Energy依赖的CEF二进制框架
> 跨平台: 一套代码可以打包成 Windows, 国产UOS、Deepin、Kylin, MacOS, Linux
> 语言职责
>> Go: Go负责窗口创建、CEF配置和功能实现、各种UI组件创建、系统低层调用,和JS处理不了的功能如: 文件流、安全加密、高性能处理等等
>> Web: HTML + CSS + JavaScript 负责客户端界面的功能, 做出任意你想要的界面
> 前端技术: 支持主流前端框架例如:Vue、React、Angular, 或纯HTML+CSS等等
> 事件驱动: 高性能事件驱动, 基于IPC通信,实现Go和Web端很方便功能调用以及数据交互
> 资源加载: 支持本地或内置到执行文件, 不需要http服务支撑, 多种选择

内置依赖&集成

  • golcl
  • CEF

开发环境

基本需求

  • golang >= 1.18

  • energy 开发环境(CEF, liblcl)

快速入门

使用 energy 命令行工具自动安装开发环境完整依赖 下载地址

三个步骤运行一个简单的应用

  1. 安装开发环境 energy install .
  2. 初始化应用    energy init .
  3. 运行应用       go run main.go

示例代码 main.go

package mainimport (
    "github.com/energye/energy/v2/cef"
)

func main() {
    //全局初始化 每个应用都必须调用的
    cef.GlobalInit(nil, nil)
    //创建应用
    app := cef.NewApplication()
    //指定一个URL地址,或本地html文件目录
    cef.BrowserWindow.Config.Url = "https://www.baidu.com"
    //运行应用    cef.Run(app)
}

项目打包

  1. 编译:energy build .
  2. 打包:energy package .
  3. 最后自动生的安装包:
  • windows  使用nsis工具生成exe安装包
  • linux        使用dpkg制作deb安装包
  • macos     生成demo.app