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 7、Windows 10、Windows 11 | ||
MacOSX | MacOSX 10.15 | ||
MacOS M1 M2 | MacOS M2, Rosetta2 AMD | ||
Linux | Deepin20.8、Ubuntu18.04、LinuxMint21 | ||
Linux ARM | Kylin-V10-SP1-2107 |
本作品采用《CC 协议》,转载必须注明作者和本文链接
请问大佬,这与 wails 属同类技术实现吗?
这个和wails的区别是啥
energy 基于CEF,和LCL
CEF(Chromium Embedded Framework)是基于Google Chromium项目的开源框架
LCL是系统原生UI组件库(小部件),在energy中2者可以结合使用。
energy应用窗口有2种实现方式
以上2种都可以操控Chromium事件和函数,以及浏览器各种事件函数。
energy封装了大量CEF Api(>=90%). 可以在Go中直接操作大部分常用的CEF功能(小部分还在持续优化增加),可参考CEF C++ API, 在Go中使用方式可能不同
wails 是基于系统运行时webview环境,再具体没深入研究。
energy 安装包大,因为CEF需要一起打包。
wails 安装包小,不需要额外的。
两者都是使用前端技术实现应用的界面
另外energy框架除了包装好的CEF使用方式,也可以在Go中直接自定义使用CEF