Energy是Go基于 CEF 构建Windows、Linux、MacOSX的跨平台桌面应用框架

介绍#

Energy 是 Go 语言基于 CEF 用于构建Windows、Linux、MacOS的跨平台桌面应用框架

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

具有丰富的CEF API 和 LCL 系统原生小部件
开发环境简单, 编译速度快, 仅需Go和Energy依赖的CEF二进制框架
跨平台: 一套代码可以打包成 Windows, 国产UOS、Deepin、Kylin, MacOS, Linux
事件驱动: 基于IPC通信,实现Go和Web端迅捷调用及数据交互
资源加载: 可无需http服务支撑,直接读取本地资源或内置到执行文件的资源, 也支持http服务加载资源

开源地址#

Github: github.com/energye/energy
官网: energy.yanghy.cn

开发环境安装#

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

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

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

示例代码#

main.go

package main

import (
    "github.com/energye/energy/v2/cef"
)

func main() {
    //全局初始化
    cef.GlobalInit(nil, nil)
    //创建应用
    app := cef.NewApplication()
    //指定一个URL地址,或本地html文件目录
    cef.BrowserWindow.Config.Url = "https://energy.yanghy.cn"
    //运行应用
    cef.Run(app)
}

环境安装

应用打包#

1. 编译:energy build .
2. 打包:energy package .
3. 自动生成的安装包

  • windows 使用 nsis 工具生成 exe 安装包
  • linux 使用 dpkg 制作 deb 安装包
  • macos 生成 pkgbuild 制作 pkg 安装包

系统支持#

- 32 位 64 位 测试系统版本
Windows Windows Windows Windows 7、Windows 10、Windows 11
MacOSX MacOS MacOS MacOSX 10.15
MacOS M1 M2 MacOS MacOS MacOS M2, Rosetta2 AMD
Linux Linux Linux Deepin20.8、Ubuntu18.04、LinuxMint21
Linux ARM Linux ARM Linux ARM Kylin-V10-SP1-2107
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 7

请问大佬,这与 wails 属同类技术实现吗?

1年前 评论
吼咔咔 (楼主) 1年前
liziyu (作者) 1年前
吼咔咔 (楼主) 1年前

这个和 wails 的区别是啥

1年前 评论
吼咔咔 (楼主) 1年前

energy 基于 CEF,和 LCL
CEF(Chromium Embedded Framework)是基于 Google Chromium 项目的开源框架
LCL 是系统原生 UI 组件库(小部件),在 energy 中 2 者可以结合使用。
energy 应用窗口有 2 种实现方式

  1. LCL 窗口,也是系统原生窗口,可以使用 LCL 各种 UI 组件,Windows, Mac 默认
  2. CEF ViewFramework 窗口,目前不能使用 LCL 组件库,linux 默认
    以上 2 种都可以操控 Chromium 事件和函数,以及浏览器各种事件函数。

energy 封装了大量 CEF Api(>=90%). 可以在 Go 中直接操作大部分常用的 CEF 功能(小部分还在持续优化增加),可参考 CEF C++ API, 在 Go 中使用方式可能不同

wails 是基于系统运行时 webview 环境,再具体没深入研究。

energy 安装包大,因为 CEF 需要一起打包。
wails 安装包小,不需要额外的。

两者都是使用前端技术实现应用的界面
另外 energy 框架除了包装好的 CEF 使用方式,也可以在 Go 中直接自定义使用 CEF

1年前 评论