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

介绍

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

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

具有丰富的CEF APILCL 系统原生小部件
开发环境简单, 编译速度快, 仅需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 属同类技术实现吗?

7个月前 评论
吼咔咔 (楼主) 7个月前
liziyu (作者) 7个月前
吼咔咔 (楼主) 7个月前

这个和wails的区别是啥

7个月前 评论
吼咔咔 (楼主) 7个月前

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

7个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!