2023-02-17 17:37:58 +08:00
< p align = "center" >
2023-10-19 18:26:08 +08:00
< img src = "https://assets.yanghy.cn/energy-icon.png" >
2023-02-17 17:37:58 +08:00
< / p >
2023-07-05 17:33:59 +08:00
< p align = "center" style = "font-size: 24px;" >
< strong >
Energy是Go基于CEF构建桌面应用的框架
< / strong >
< / p >
2023-02-14 20:33:57 +08:00
2022-12-03 15:05:07 +08:00
中文 |
2022-12-03 15:19:38 +08:00
[English ](README.md )
2022-12-03 15:05:07 +08:00
---
2023-09-28 11:06:26 +08:00
![go-version ](https://img.shields.io/github/go-mod/go-version/energye/energy?logo=git&logoColor=green )
2023-02-14 20:33:57 +08:00
[![github ](https://img.shields.io/github/last-commit/energye/energy/main.svg?logo=github&logoColor=green&label=commit )](https://github.com/energye/energy)
2023-05-31 19:37:08 +08:00
[![release ](https://img.shields.io/github/v/release/energye/energy?logo=git&logoColor=green )](https://github.com/energye/energy/releases)
2023-09-28 11:06:26 +08:00
![Build Status ](https://github.com/energye/energy/actions/workflows/go.yml/badge.svg )
2023-02-14 20:33:57 +08:00
![repo ](https://img.shields.io/github/repo-size/energye/energy.svg?logo=github&logoColor=green&label=repo-size )
2023-10-05 19:47:12 +08:00
[![Go Report ](https://goreportcard.com/badge/github.com/energye/energy )](https://goreportcard.com/report/github.com/energye/energy/v2)
[![Go Reference ](https://pkg.go.dev/badge/github.com/energye/energy )](https://pkg.go.dev/github.com/energye/energy/v2)
[![codecov ](https://codecov.io/gh/energye/energy/graph/badge.svg?token=H370UFUF12 )](https://codecov.io/gh/energye/energy)
[![contributors ](https://img.shields.io/github/contributors/energye/energy )](https://github.com/energye/energy/graphs/contributors)
[![license ](https://img.shields.io/github/license/energye/energy.svg?logo=git&logoColor=red )](http://www.apache.org/licenses/LICENSE-2.0)
2023-02-14 20:33:57 +08:00
---
2023-08-14 11:34:02 +08:00
### [项目简介](https://energy.yanghy.cn/course/100/6350f94ca749ba0318943f25)
2023-02-14 20:33:57 +08:00
> [energy](https://github.com/energye/energy) 是 Go 基于 CEF(Chromium Embedded Framework)
> 开发的框架,内嵌 [CEF](https://bitbucket.org/chromiumembedded/cef) 二进制
>
> 使用 Go 和 Web 端技术 ( HTML + CSS + JavaScript ) 构建支持Windows, Linux, MacOS跨平台桌面应用
2023-09-15 21:47:40 +08:00
2023-02-14 20:33:57 +08:00
2023-02-17 14:34:25 +08:00
### 特性
2023-02-14 20:33:57 +08:00
2023-08-22 09:39:45 +08:00
> - 具有丰富的CEF API 和 LCL 系统原生小部件
2023-09-15 21:47:40 +08:00
> - 开发环境简单,编译速度快,仅需Go和Energy依赖的CEF二进制框架
2023-02-17 14:34:25 +08:00
> - 跨平台: 一套代码可以打包成 Windows, 国产UOS、Deepin、Kylin, MacOS, Linux
2024-01-06 23:36:58 +08:00
>> - Golang: 窗口管理、CEF API封装& 配置、功能实现、各种UI组件创建、系统低层调用和JavaScript处理不了的功能, 如: 文件流、安全加密、高性能处理等
2023-08-31 14:05:20 +08:00
>> - Web: HTML + CSS + JavaScript 负责客户端界面的功能, 做出任意你想要的界面
2023-09-15 21:47:40 +08:00
> - 前端技术: 支持主流前端框架。例如: Vue、React、Angular 和 原生HTML+CSS+JS等
> - 事件驱动: 高性能事件驱动, 基于IPC通信, 实现Go和Web端迅捷调用及数据交互
> - 资源加载: 可无需http服务支撑, 直接读取本地资源或内置到执行文件的资源, 也支持http服务加载资源
2023-02-17 14:34:25 +08:00
2023-02-14 20:33:57 +08:00
### 内置依赖&集成
2022-12-03 15:05:07 +08:00
2023-06-20 19:33:53 +08:00
- [![LCL ](https://img.shields.io/badge/LCL-green )](https://github.com/energye/golcl)
- [![CEF-CEF4Delphi ](https://img.shields.io/badge/CEF(Chromium%20Embedded%20Framework )%20CEF4Delphi-green)](https://github.com/salvadordf/CEF4Delphi)
2023-02-14 20:33:57 +08:00
2023-08-14 11:34:02 +08:00
### [开发环境](https://energy.yanghy.cn/course/100/63511b14a749ba0318943f3a)
2023-02-14 20:33:57 +08:00
#### 基本需求
2023-06-29 16:19:33 +08:00
> - Golang >= 1.18
2023-09-15 19:33:08 +08:00
> - Energy 开发环境(CEF, liblcl)
#### 环境安装
- 自动安装开发环境
2023-09-15 21:47:40 +08:00
> 使用 energy 命令行工具自动安装完整开发环境 [命令行工具下载地址](https://energy.yanghy.cn/course/100/1694511322285207)
2022-12-03 15:05:07 +08:00
2023-02-14 20:33:57 +08:00
### 入门指南 - [传送门](https://energy.yanghy.cn)
2023-08-14 11:34:02 +08:00
* [教程 ](https://energy.yanghy.cn/course/100/0 )
* [示例 ](https://energy.yanghy.cn/example/200/0 )
* [文档 ](https://energy.yanghy.cn/document/300/0 )
2022-12-03 15:05:07 +08:00
### 快速入门
2023-02-14 20:33:57 +08:00
2023-09-15 19:33:08 +08:00
> 使用 [energy](https://energy.yanghy.cn/course/100/1694511322285207) 命令行工具自动安装完整开发环境
### 三个步骤运行一个简单应用
1. 安装开发环境: `energy install .`
2. 初始化应用: `energy init .`
3. 运行应用: `go run main.go`
### 示例代码
main.go
2022-12-03 15:05:07 +08:00
```go
package main
import (
2023-05-31 18:00:34 +08:00
"github.com/energye/energy/v2/cef"
2022-12-03 15:05:07 +08:00
)
func main() {
2023-09-15 19:33:08 +08:00
//全局初始化
2023-02-02 19:37:16 +08:00
cef.GlobalInit(nil, nil)
2022-12-03 15:05:07 +08:00
//创建应用
2023-09-15 19:33:08 +08:00
app := cef.NewApplication()
2022-12-03 15:05:07 +08:00
//指定一个URL地址, 或本地html文件目录
2023-01-03 17:53:01 +08:00
cef.BrowserWindow.Config.Url = "https://energy.yanghy.cn"
2022-12-03 15:05:07 +08:00
//运行应用
2023-09-15 19:33:08 +08:00
cef.Run(app)
2022-12-03 15:05:07 +08:00
}
```
2023-02-14 20:33:57 +08:00
2023-09-15 21:47:40 +08:00
### 应用打包
2023-09-15 19:33:08 +08:00
1. 编译:`energy build .`
2. 打包:`energy package .`
2023-09-15 21:47:40 +08:00
3. 自动生成的安装包
2023-09-15 19:33:08 +08:00
- windows 使用`nsis`工具生成exe安装包
- linux 使用`dpkg`制作deb安装包
- macos 生成`xxx.app`
2023-06-29 16:19:33 +08:00
2023-02-14 20:33:57 +08:00
### 系统支持
![Windows ](https://img.shields.io/badge/windows-supported-success.svg?logo=Windows&logoColor=blue )
2023-06-29 12:33:44 +08:00
![MacOS ](https://img.shields.io/badge/MacOS-supported-success.svg?logo=MacOS )
2023-02-14 20:33:57 +08:00
![Linux ](https://img.shields.io/badge/Linux-supported-success.svg?logo=Linux&logoColor=red )
2023-08-31 14:05:20 +08:00
| | 32位 | 64位 | 测试系统版本 |
|-------------|--------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|------------------------------------|
2024-02-27 10:21:40 +08:00
| Windows | ![Windows ](https://img.shields.io/badge/supported-success.svg?logo=Windows&logoColor=blue ) | ![Windows ](https://img.shields.io/badge/supported-success.svg?logo=Windows&logoColor=blue ) | Windows XP SP3、 7、10、11 |
2023-11-03 10:58:33 +08:00
| MacOSX | ![MacOSX ](https://img.shields.io/badge/N/A-inactive.svg?logo=MacOS ) | ![MacOSX ](https://img.shields.io/badge/supported-success.svg?logo=MacOS ) | MacOSX 10.15 |
2023-11-15 19:54:42 +08:00
| MacOS M1 M2 | ![MacOS ](https://img.shields.io/badge/N/A-inactive.svg?logo=MacOS ) | ![MacOS ](https://img.shields.io/badge/supported-success.svg?logo=MacOS ) | MacOS M2 |
2023-08-31 14:05:20 +08:00
| Linux | ![Linux ](https://img.shields.io/badge/自编译-supported-success.svg?logo=Linux ) | ![Linux ](https://img.shields.io/badge/supported-success.svg?logo=Linux&logoColor=red ) | Deepin20.8、Ubuntu18.04、LinuxMint21 |
2023-11-03 10:58:33 +08:00
| Linux ARM | ![Linux ARM ](https://img.shields.io/badge/自编译-supported-success.svg?logo=Linux ) | ![Linux ARM ](https://img.shields.io/badge/supported-success.svg?logo=Linux ) | Kylin-V10-SP1-2107 |
2023-02-14 20:33:57 +08:00
2023-09-25 14:43:59 +08:00
### 相关项目
* [CEF ](https://github.com/chromiumembedded/cef )
* [CEF4Delphi ](https://github.com/salvadordf/CEF4Delphi )
* [CefSharp ](https://github.com/cefsharp/CefSharp )
* [Java-CEF ](https://bitbucket.org/chromiumembedded/java-cef )
* [cefpython ](https://github.com/cztomczak/cefpython )
* [Chromium ](https://chromium.googlesource.com/chromium/src/ )
2023-02-14 20:33:57 +08:00
---
2023-11-15 19:53:22 +08:00
### 欢迎加入
energy扔处于建设的过程中, 有很多的事情无法独自完成, 如果有感兴趣的同学想参与energy的实现或学习, 可通过微信或QQ联系我。
2023-06-20 19:33:53 +08:00
2023-09-15 21:47:40 +08:00
如果你觉得此项目对你有帮助,请点亮 Star
2023-06-20 19:33:53 +08:00
2023-06-14 10:37:26 +08:00
---
2023-11-15 19:53:22 +08:00
### ENERGY QQ交流群 & 微信
2023-02-14 20:33:57 +08:00
2023-11-15 19:53:22 +08:00
< p align = "center" >
< img src = "https://assets.yanghy.cn/qq-group.jpg" width = "250" title = "QQ交流群: 541258627" alt = "QQ交流群: 541258627" >
< img src = "https://assets.yanghy.cn/we-chat.jpg" width = "250" title = "微信: sniawmdf" alt = "微信: sniawmdf" style = "margin-left: 30px;" >
< / p >
---
### 鸣谢 Jetbrains
2023-02-14 20:33:57 +08:00
2023-06-14 10:37:26 +08:00
< p align = "center" >
2023-11-15 19:53:22 +08:00
< a href = "https://www.jetbrains.com?from=energy" >
< img src = "https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg" alt = "JetBrains Logo (Main) logo." >
< / a >
2023-06-14 10:37:26 +08:00
< / p >
2023-02-14 21:04:18 +08:00
2023-02-14 20:33:57 +08:00
---
### 项目截图
##### Windows-10
2023-10-19 18:26:08 +08:00
< img src = "https://assets.yanghy.cn/frameless-windows-10.png" >
2023-02-14 20:33:57 +08:00
2023-02-17 12:59:36 +08:00
##### Windows-7 32 & 64
2023-10-19 18:26:08 +08:00
< img src = "https://assets.yanghy.cn/frameless-windows-7-64.png" >
< img src = "https://assets.yanghy.cn/frameless-windows-7-32.png" >
2023-02-14 20:33:57 +08:00
2024-02-27 10:21:40 +08:00
##### Windows-XP-SP3
< img src = "https://assets.yanghy.cn/windows-xp-sp3.png" >
2023-11-03 10:59:24 +08:00
##### Linux - Deepin
2023-10-19 18:26:08 +08:00
< img src = "https://assets.yanghy.cn/frameless-deepin-20.8.png" >
< img src = "https://assets.yanghy.cn/frameless-deepin-hide-20.8.png" >
2023-02-14 20:33:57 +08:00
2023-11-03 10:59:24 +08:00
##### Linux - Kylin ARM
2023-10-19 18:26:08 +08:00
< img src = "https://assets.yanghy.cn/frameless-kylin-arm-V10-SP1.png" >
< img src = "https://assets.yanghy.cn/frameless-kylin-arm-hide-V10-SP1.png" >
2023-02-17 12:59:36 +08:00
##### Linux - Ubuntu
2023-10-19 18:26:08 +08:00
< img src = "https://assets.yanghy.cn/frameless-ubuntu-18.04.6.png" >
< img src = "https://assets.yanghy.cn/frameless-ubuntu-hide-18.04.6.png" >
2023-02-14 20:33:57 +08:00
##### MacOSX
2023-10-19 18:26:08 +08:00
< img src = "https://assets.yanghy.cn/frameless-macos.png" >
2023-02-14 20:33:57 +08:00
2022-12-03 15:05:07 +08:00
----
2023-02-14 20:33:57 +08:00
### 开源协议
[![license ](https://img.shields.io/github/license/energye/energy.svg?logo=git&logoColor=green )](http://www.apache.org/licenses/LICENSE-2.0)
2023-08-22 17:29:13 +08:00
### 贡献者
2023-08-22 17:28:45 +08:00
< a href = "https://github.com/energye/energy/graphs/contributors" >
< img src = "https://opencollective.com/energy/contributors.svg?width=890&button=false" / >
< / a >