https://github.com/energye/energy
Energy is a framework developed by Go language based on CEF (Chromium Embedded Framework) for developing cross-platform desktop applications for Windows, Mac OS X, and Linux
https://github.com/energye/energy
browser cef chromium desktop go gocef golang golang-chromium golangui gui linux linux-desktop macos macos-desktop macosx v8 windows windows-desktop
Last synced: about 1 month ago
JSON representation
Energy is a framework developed by Go language based on CEF (Chromium Embedded Framework) for developing cross-platform desktop applications for Windows, Mac OS X, and Linux
- Host: GitHub
- URL: https://github.com/energye/energy
- Owner: energye
- License: apache-2.0
- Created: 2022-10-03T16:30:08.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-24T13:06:59.000Z (about 2 months ago)
- Last Synced: 2025-04-01T04:51:58.507Z (about 1 month ago)
- Topics: browser, cef, chromium, desktop, go, gocef, golang, golang-chromium, golangui, gui, linux, linux-desktop, macos, macos-desktop, macosx, v8, windows, windows-desktop
- Language: Go
- Homepage: https://energye.github.io
- Size: 34.3 MB
- Stars: 445
- Watchers: 9
- Forks: 34
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - energy - Cross-platform based on LCL(Native System UI Control Library) and CEF(Chromium Embedded Framework) (Windows/ macOS / Linux) (GUI / Search and Analytic Databases)
README
![]()
Energy is a GUI framework developed by Go, based on LCL and CEF
[中文](README.zh_CN.md) |
English---

[](https://github.com/energye/energy)
[](https://github.com/energye/energy/releases)


[](https://goreportcard.com/report/github.com/energye/energy/v2)
[](https://pkg.go.dev/github.com/energye/energy/v2)
[](https://discord.gg/TejjxKz9)
[](https://codecov.io/gh/energye/energy)
[](https://github.com/energye/energy/graphs/contributors)
[](http://www.apache.org/licenses/LICENSE-2.0)
---### [Project Introduction](https://energye.github.io/en/course/what-is-energy)
- Energy is a GUI framework developed in Go, based on [LCL](https://gitlab.com/freepascal.org/lazarus/lazarus) and [CEF](https://bitbucket.org/chromiumembedded/cef)(Chromium Embedded Framework), which is used to develop cross-platform desktop applications for Windows, MacOS, and Linux.
- LCL alone can create lightweight native applications, or can be combined with CEF to create more feature-complete applications.
- Construct cross-platform desktop applications that support Windows, Linux, and MacOS using Go and web technologies (HTML + CSS + JavaScript).### Characteristic
- Rich CEF API and LCL system native widgets
- Development environment is simple and the compilation speed is fast. Only need Go and Energy.
- Cross-Platform: You can package your code as Windows, domestic UOS, Deepin, Kylin, MacOS and Linux
- Responsibilities
- Go: Go is responsible for creating Windows, configuring CEF and implementing functions, creating various UI components, calling the low level of the system and some functions that JS cannot handle, such as: file flow, security encryption, high-performance processing, etc.
- Web: HTML + CSS + JavaScript is responsible for the function of the client interface, you can make any interface you want.
- Front-end technology: Support mainstream frameworks, such as Vue, React, Angular or pure HTML+CSS+JS.
- Event driven: High performance event driven communication based on IPC allowing intercommunication between Go and Web.
- Resource loading: You can either read local resources or resources built into execution files either with or without HTTP services.### Built-in dependency&integration
- [](https://github.com/energye/golcl)
- [%20CEF4Delphi-green)](https://github.com/salvadordf/CEF4Delphi)### [Development Environment](https://energye.github.io/en/course/getting-started)
#### Basic needs
- Golang >= 1.18
- Energy (CEF, liblcl)#### Environmental installation
Automatic installation development environment using the energy [command-line tool](https://energye.github.io/en/course/cli-use/)
### Guide to Start - [Link](https://energye.github.io/en/course/getting-started)
- [Guide](https://energye.github.io/en/course/getting-started)
- [Example](https://energye.github.io/en/examples)
- [Document](https://energye.github.io/en/document)### Quick Start
- [Getting Started](https://energye.github.io/en/course/getting-started)
### Run a simple application by three steps
1. Install development environment: `energy install`
2. Initiate an Application: `energy init`
3. Run the Application: `go run main.go`### sample code
main.go
```go
package mainimport (
"github.com/energye/energy/v2/cef"
)func main() {
//Global initialization
cef.GlobalInit(nil, nil)
//Create an application
app := cef.NewApplication()
//Specify a URL address or local HTML file directory
cef.BrowserWindow.Config.Url = "https://energye.github.io"
//Run Application
cef.Run(app)
}
```### Build
1. Build:`energy build`
2. Package:`energy package`
3. Package Type:
- windows: Using `nsis` create exe installation package
- linux: Using `dpkg` create deb installation package
- macos: Generate `xxx.app`### [System support](https://energye.github.io/en/document/version-details)


| OS | 32-bit | 64-bit |
|-----------------------|--------|--------|
| Windows | ️✔️ | ️✔️ |
| MacOSX (Intel) | ❌ | ️✔️ |
| MacOS (Apple Silicon) | ❌ | ️✔️ |
| Linux | ️✔️ | ️✔️ |
| Linux ARM | ️✔️ | ️✔️ |### v3.0 Related Projects
- [LCL](https://github.com/energye/lcl)
- [CEF](https://github.com/energye/cef)
- [Webview2 Webkit2](https://github.com/energye/wv)### Other Projects
- [CEF(Chromium Embedded Framework)](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/)---
### ENERGY QQ Group & WeChat
**Innovative functions break through difficulties. Light up the `star` and strive forward together!**
---
![]()
![]()
---
### Thanks Jetbrains
---
### Project screenshot
##### Windows-10
##### Windows-7 32 & 64
![]()
##### Windows-XP-SP3
##### Linux - Deepin
![]()
##### Linux - Kylin ARM
![]()
##### Linux - Ubuntu
![]()
##### MacOSX
----
### Public License
[](http://www.apache.org/licenses/LICENSE-2.0)
### Contributors