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 is framework for Go to build desktop applications based on CEF
< / strong >
< / p >
2023-02-14 20:33:57 +08:00
[中文 ](README.zh_CN.md ) |
2022-12-03 15:05:07 +08:00
English
2022-10-04 16:21:00 +08:00
2022-10-06 16:39:52 +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 )
---
2023-08-14 11:34:02 +08:00
### [Project Introduction](https://energy.yanghy.cn/course/100/6350f94ca749ba0318943f25)
2023-07-05 17:33:59 +08:00
Energy is a framework developed by Golang based on CEF(Chromium Embedded Framework), embedded
with [CEF ](https://bitbucket.org/chromiumembedded/cef ) binary
> [energy](https://github.com/energye/energy) is a framework developed by Golang based on CEF(Chromium Embedded
> Framework), embedded with [CEF](https://bitbucket.org/chromiumembedded/cef) binary
2022-10-06 16:39:52 +08:00
>
2023-07-05 17:33:59 +08:00
> Use Go and Web technology (HTML+CSS+JavaScript) to build cross-platform desktop applications that support Windows,
> Linux and MacOS
2022-10-06 16:39:52 +08:00
>
2023-02-17 16:03:28 +08:00
> Knowledge of the front-end technology stack and some knowledge of the Go language is required
2023-02-17 14:34:25 +08:00
### Characteristic
2023-08-22 09:39:45 +08:00
> - Rich CEF API and LCL system native widgets
2023-07-05 17:33:59 +08:00
> - development environment is simple and the compilation speed is fast. Only the Go development environment and the CEF
binary framework that Energy depends on are needed
2023-02-17 14:34:25 +08:00
> - cross-platform: A set of code can be packaged into Windows, domestic UOS, Deepin, Kylin, MacOS, Linux
> - Language responsibilities
2023-07-05 17:33:59 +08:00
>> - Go: Go is responsible for window creation, CEF configuration and function implementation, creation of various UI
components, low-level system calls, and functions that JS cannot handle, such as file stream, security encryption,
2023-08-31 14:05:20 +08:00
high-performance processing, etc.
>> - Web: HTML + CSS + JavaScript responsible for the function of the client interface, make any interface you want, Any front-end technology framework can be used
2023-02-17 14:34:25 +08:00
> - front-end technology: Support mainstream front-end frameworks, such as Vue, React, Angular or pure HTML+CSS
2023-07-05 17:33:59 +08:00
> - event driven: High performance event driven, IPC based communication, Go and Web side is very convenient function
call and data interaction
2023-08-31 14:05:20 +08:00
> - resource loading: supports local or built-in to executable files, http service support is not required, multiple choices.
2023-02-14 20:33:57 +08:00
### Built-in dependency&integration
2022-10-06 16:39:52 +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
### [Development environment](https://energy.yanghy.cn/course/100/63511b14a749ba0318943f3a)
2023-02-14 20:33:57 +08:00
> Install automatically using the energy command line tool
2023-07-05 17:33:59 +08:00
2023-02-14 20:33:57 +08:00
#### Basic needs
2023-07-05 17:33:59 +08:00
2023-02-14 20:33:57 +08:00
> - golang >= 1.18
2022-11-28 22:44:13 +08:00
>
2023-02-14 20:33:57 +08:00
> - energy development environment
2023-07-05 17:33:59 +08:00
>
2023-02-14 20:33:57 +08:00
> Use the energy command line tool to automatically install the development environment
>
2023-07-05 17:33:59 +08:00
> Get [energy](https://github.com/energye/energy) project, or use the precompiled command line tool
2023-08-14 11:34:02 +08:00
> directly [Download address](https://energy.yanghy.cn/course/100/63511b14a749ba0318943f3a)
2023-07-05 17:33:59 +08:00
>
2023-06-29 16:19:33 +08:00
> <p style="color:palevioletred;">If using pre compiled command-line tools, the following steps can be skipped</p>
2023-07-05 17:33:59 +08:00
>
2023-08-22 09:39:45 +08:00
> `git clone https://github.com/energye/energy.git`
2022-11-28 22:44:13 +08:00
>
2023-02-14 20:33:57 +08:00
> Enter the [energy](https://github.com/energye/energy) command line directory
2023-07-05 17:33:59 +08:00
>
2023-06-29 16:19:33 +08:00
> `cd energy/cmd/energy`
2022-11-28 22:44:13 +08:00
>
2023-02-14 20:33:57 +08:00
> Install command line tools
2023-07-05 17:33:59 +08:00
>
2023-06-29 16:19:33 +08:00
> `go install`
2022-11-28 22:44:13 +08:00
>
2023-02-14 20:33:57 +08:00
> Execute the installation command
2023-07-05 17:33:59 +08:00
>
2023-06-29 16:19:33 +08:00
> `energy install .`
2022-10-18 15:15:29 +08:00
2023-02-14 20:33:57 +08:00
### Getting Started Guide - [Transfer gate](https://energy.yanghy.cn)
2023-08-14 11:34:02 +08:00
* [Course ](https://energy.yanghy.cn/course/100/0 )
* [Example ](https://energy.yanghy.cn/example/200/0 )
* [Document ](https://energy.yanghy.cn/document/300/0 )
2022-10-06 16:39:52 +08:00
2023-02-14 20:33:57 +08:00
### Quick Get Start
2023-07-05 17:33:59 +08:00
2023-08-22 09:39:45 +08:00
> Must: You need to install the Go development environment yourself [Golang Install](https://golang.google.cn/dl/)
2023-08-22 17:28:45 +08:00
>
> Use [energy-command-line](https://energy.yanghy.cn/course/100/63511b14a749ba0318943f3a) Command line tool automatic
> installation environment dependency
>
2023-08-22 09:39:45 +08:00
> `energy install .`
2022-10-06 16:39:52 +08:00
>
2023-02-14 20:33:57 +08:00
> Take example/simple as an example
2022-10-06 16:39:52 +08:00
>
2023-02-14 20:33:57 +08:00
> Update latest release dependency
2022-10-06 16:39:52 +08:00
>
2023-02-14 20:33:57 +08:00
> `go mod tidy`
2022-10-06 16:39:52 +08:00
>
2023-02-14 20:33:57 +08:00
> Run `simple` in the IDE or `go run simple.go`
### example/simple Code
2022-10-06 16:39:52 +08:00
```go
package main
import (
2023-05-31 18:00:34 +08:00
"github.com/energye/energy/v2/cef"
2022-10-06 16:39:52 +08:00
)
func main() {
2023-02-14 20:33:57 +08:00
//Global initialization must be called by every application
2023-02-02 19:37:16 +08:00
cef.GlobalInit(nil, nil)
2023-02-14 20:33:57 +08:00
//Create application
2023-06-01 07:39:32 +08:00
cefApp := cef.NewApplication()
2023-02-14 20:33:57 +08:00
//Set URL
2023-06-29 16:19:33 +08:00
cef.BrowserWindow.Config.Url = "https://www.yanghy.cn"
2023-02-14 20:33:57 +08:00
//Run App
2022-10-06 16:39:52 +08:00
cef.Run(cefApp)
}
```
2023-07-05 17:33:59 +08:00
2023-02-14 20:33:57 +08:00
---
2023-06-29 16:19:33 +08:00
### Run app
2023-07-05 17:33:59 +08:00
2023-06-29 16:19:33 +08:00
- Windows、Linux
2023-07-05 17:33:59 +08:00
2023-06-29 16:19:33 +08:00
> `go run simple.go`
2023-07-05 17:33:59 +08:00
2023-06-29 16:19:33 +08:00
- MacOS
2023-07-05 17:33:59 +08:00
> `go run simple.go energy_env=dev`
2023-06-29 16:19:33 +08:00
2023-02-14 20:33:57 +08:00
---
### System support
![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 Bit | 64 Bit | Test System Version |
|-------------|--------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|------------------------------------|
| 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、Windows 11 |
| MacOSX | ![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 |
| 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, Rosetta2 AMD |
| Linux | ![Linux ](https://img.shields.io/badge/SelfCompila-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/SelfCompila-supported-success.svg?logo=Linux ) | ![Linux ARM ](https://img.shields.io/badge/SelfCompila-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
### Thanks 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-08-22 09:39:45 +08:00
Thank you for ordering a Star for the project
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 Group
[![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-07-09 19:21:20 +08:00
2023-02-14 20:33:57 +08:00
---
### Project screenshot
2023-07-05 17:33:59 +08:00
2023-02-14 20:33:57 +08:00
##### Windows-10
2023-06-14 10:37:26 +08:00
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-07-05 17:33:59 +08:00
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-07-05 17:33:59 +08:00
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-07-05 17:33:59 +08:00
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-07-05 17:33:59 +08:00
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-07-05 17:33:59 +08:00
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-10-18 17:21:02 +08:00
2022-10-18 18:16:16 +08:00
----
2023-02-14 20:33:57 +08:00
### Public License
[![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:28:45 +08:00
### Contributors
< a href = "https://github.com/energye/energy/graphs/contributors" >
< img src = "https://opencollective.com/energy/contributors.svg?width=890&button=false" / >
< / a >