energy/README.zh_CN.md

210 lines
8.3 KiB
Markdown
Raw Normal View History

2023-02-17 17:37:58 +08:00
<p align="center">
<img src="https://assets.yanghy.cn/energy-doc/energy-icon.png">
</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-02-17 17:35:48 +08:00
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-02-14 20:33:57 +08:00
[![license](https://img.shields.io/github/license/energye/energy.svg?logo=git&logoColor=red)](http://www.apache.org/licenses/LICENSE-2.0)
![repo](https://img.shields.io/github/repo-size/energye/energy.svg?logo=github&logoColor=green&label=repo-size)
![go-version](https://img.shields.io/github/go-mod/go-version/energye/energy?logo=git&logoColor=green)
---
### [项目简介](https://energy.yanghy.cn/#/course/6342d92c401bfe4d0cdf6065/6350f94ca749ba0318943f25)
> [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-02-17 14:34:25 +08:00
>
2023-02-17 16:03:28 +08:00
> 需要会前端技术栈和略懂Go语言
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-06-29 16:19:33 +08:00
> - 开发环境简单,编译速度快,只需要Go和Energy依赖的CEF二进制框架
2023-02-17 14:34:25 +08:00
> - 跨平台: 一套代码可以打包成 Windows, 国产UOS、Deepin、Kylin, MacOS, Linux
> - 语言职责
2023-02-17 16:03:28 +08:00
>> - Go: Go负责窗口创建、CEF配置和功能实现、各种UI组件创建、系统低层调用和JS处理不了的功能如: 文件流、安全加密、高性能处理等等,可作为纯后端开发
2023-02-17 15:58:45 +08:00
>> - Web: HTML + CSS + JavaScript 负责客户端界面的功能, 做出任意你想要的界面,可作为纯前端开发
2023-02-17 14:34:25 +08:00
> - 前端技术: 支持主流前端框架例如Vue、React、Angular, 或纯HTML+CSS等等
> - 事件驱动: 高性能事件驱动, 基于IPC通信实现Go和Web端很方便功能调用以及数据交互
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
### [开发环境](https://energy.yanghy.cn/#/course/6342d92c401bfe4d0cdf6065/63511b14a749ba0318943f3a)
#### 基本需求
2023-06-29 16:19:33 +08:00
> - Golang >= 1.18
> - Energy 开发环境
2023-02-14 20:33:57 +08:00
>
> 使用 energy 命令行工具自动安装开发环境
2022-12-03 15:05:07 +08:00
>
2023-06-29 16:19:33 +08:00
> 获取 [energy](https://github.com/energye/energy) 项目,或直接使用预编译命令行工具 [下载地址](https://energy.yanghy.cn/#/course/6342d92c401bfe4d0cdf6065/63511b14a749ba0318943f3a)
>
> <p style="color:palevioletred;">如果使用预编译命令行工具以下步骤可跳过</p>
>
> `go get github.com/energye/energy/v2`
2022-12-03 15:05:07 +08:00
>
2023-02-14 20:33:57 +08:00
> 进入 [energy](https://github.com/energye/energy) 命令行目录
2023-06-29 16:19:33 +08:00
>
> `cd energy/cmd/energy`
2022-12-03 15:05:07 +08:00
>
2023-02-14 20:33:57 +08:00
> 安装命令行工具
2023-06-29 16:19:33 +08:00
>
> `go install`
2022-12-03 15:05:07 +08:00
>
2023-02-14 20:33:57 +08:00
> 执行安装命令
2023-06-29 16:19:33 +08:00
>
> `energy install .`
2022-12-03 15:05:07 +08:00
2023-02-14 20:33:57 +08:00
### 入门指南 - [传送门](https://energy.yanghy.cn)
2022-12-03 15:05:07 +08:00
* [教程](https://energy.yanghy.cn/#/course/6342d92c401bfe4d0cdf6065/6350f94ca749ba0318943f25)
* [示例](https://energy.yanghy.cn/#/example/6342d986401bfe4d0cdf6067/634d3bd5a749ba0318943eb6)
* [文档](https://energy.yanghy.cn/#/document/6342d9a4401bfe4d0cdf6069/0)
### 快速入门
2023-02-14 20:33:57 +08:00
> 使用 [energy](https://github.com/energye/energy) 命令行工具自动安装环境依赖 `energy install .`
2022-12-03 15:05:07 +08:00
>
> 以example/simple示例为例
>
2023-02-14 20:33:57 +08:00
> 更新最新发布版本依赖
2022-12-03 15:05:07 +08:00
>
2023-06-29 16:19:33 +08:00
> `go mod tidy`
2022-12-03 15:05:07 +08:00
>
2023-06-29 16:19:33 +08:00
> 在IDE中运行 simple 或 go run simple.go
2023-02-14 20:33:57 +08:00
### example/simple 示例代码
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-02-02 19:37:16 +08:00
cef.GlobalInit(nil, nil)
2022-12-03 15:05:07 +08:00
//创建应用
2023-06-01 07:39:32 +08:00
cefApp := cef.NewApplication()
2022-12-03 15:05:07 +08:00
//指定一个URL地址或本地html文件目录
cef.BrowserWindow.Config.Url = "https://energy.yanghy.cn"
2022-12-03 15:05:07 +08:00
//运行应用
cef.Run(cefApp)
}
```
2023-02-14 20:33:57 +08:00
---
2023-06-29 16:19:33 +08:00
### 运行应用
- Windows、Linux
> `go run simple.go`
- MacOS
> `go run simple.go energy_env=dev`
2023-02-14 20:33:57 +08:00
### 项目打包 [参考](https://energy.yanghy.cn/#/course/6342d92c401bfe4d0cdf6065/636e397ba749ba01d04ff595)
2023-06-29 16:19:33 +08:00
1. 编译Go 程序编译`go build simple.go` 如果使用资源内置(HTML、CSS、JavaScript、Image等等)会把资源编译到执行文件内
2023-02-14 20:33:57 +08:00
2. 复制把执行文件复制到ENERGY环境的CEF目录中即可
3. 打包:使用制作安装包工具将其制作为安装包, 查阅各系统平台安装包制作
4. 最后编译后的程序或安装包和CEF目录不再需要配置环境,在CEF根目录可直接运行
#### Go编译命令
2023-06-29 16:19:33 +08:00
- `go build -ldflags "-H windowsgui -s -w"`
> `-ldflags`
>
>> `-H windowsgui` 可选: windows 隐藏cmd黑窗口
>>
>> `-w` 可选: 去除调试信息, 可减小执行文件大小
>>
>> `-s` 可选: 去除符号表信息, 可减小执行文件大小
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-06-29 12:33:44 +08:00
| | 32位 | 64位 | 测试系统版本 |
|-------------|--------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|------------------------------------|
| 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 7、Windows 10 |
| MacOS | ![MacOS](https://img.shields.io/badge/N/A-inactive.svg?logo=MacOS) | ![MacOS](https://img.shields.io/badge/supported-success.svg?logo=MacOS) | MacOSX 10.15 |
| 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 |
| 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-06-14 10:37:26 +08:00
### 鸣谢 Jetbrains
<p align="center">
<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>
</p>
2023-06-20 19:33:53 +08:00
2023-06-29 12:33:44 +08:00
感谢给项目点个Star, 或三连
2023-06-20 19:33:53 +08:00
2023-06-14 10:37:26 +08:00
---
2023-02-14 20:33:57 +08:00
### QQ交流群
[![QQGroup](https://img.shields.io/badge/QQ-541258627-green.svg?logo=tencentqq&logoColor=blue)](https://jq.qq.com/?_wv=1027&k=YgFjCGJX)
2023-06-14 10:37:26 +08:00
<p align="center">
<img src="https://assets.yanghy.cn/energy-doc/qq-group.jpg" width="250">
</p>
2023-02-14 21:04:18 +08:00
2023-02-14 20:33:57 +08:00
---
### 项目截图
##### Windows-10
2023-02-17 13:02:16 +08:00
<img src="https://assets.yanghy.cn/energy-doc/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-02-17 13:02:16 +08:00
<img src="https://assets.yanghy.cn/energy-doc/frameless-windows-7-64.png">
<img src="https://assets.yanghy.cn/energy-doc/frameless-windows-7-32.png">
2023-02-14 20:33:57 +08:00
2023-02-17 12:59:36 +08:00
##### Linux - 国产 Deepin
2023-02-17 13:02:16 +08:00
<img src="https://assets.yanghy.cn/energy-doc/frameless-deepin-20.8.png">
<img src="https://assets.yanghy.cn/energy-doc/frameless-deepin-hide-20.8.png">
2023-02-14 20:33:57 +08:00
2023-02-17 12:59:36 +08:00
##### Linux - 国产 Kylin ARM
2023-02-17 13:02:16 +08:00
<img src="https://assets.yanghy.cn/energy-doc/frameless-kylin-arm-V10-SP1.png">
<img src="https://assets.yanghy.cn/energy-doc/frameless-kylin-arm-hide-V10-SP1.png">
2023-02-17 12:59:36 +08:00
##### Linux - Ubuntu
2023-02-17 13:02:16 +08:00
<img src="https://assets.yanghy.cn/energy-doc/frameless-ubuntu-18.04.6.png">
<img src="https://assets.yanghy.cn/energy-doc/frameless-ubuntu-hide-18.04.6.png">
2023-02-14 20:33:57 +08:00
##### MacOSX
2023-02-17 13:02:16 +08:00
<img src="https://assets.yanghy.cn/energy-doc/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)