Awesome
<p align="center"> <img src="https://energye.github.io/imgs/energy.png"> </p> <p align="center" style="font-size: 24px;"> <strong> Energy is a GUI framework developed by Go, based on LCL and CEF </strong> </p>中文 | English
Project Introduction
- Energy is a GUI framework developed in Go, based on LCL and 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
Development Environment
Basic needs
- Golang >= 1.18
- Energy (CEF, liblcl)
Environmental installation
Automatic installation development environment using the energy command-line tool
Guide to Start - Link
Quick Start
Run a simple application by three steps
- Install development environment:
energy install
- Initiate an Application:
energy init
- Run the Application:
go run main.go
sample code
main.go
package main
import (
"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
- Build:
energy build
- Package:
energy package
- Package Type:
- windows: Using
nsis
create exe installation package - linux: Using
dpkg
create deb installation package - macos: Generate
xxx.app
- windows: Using
System support
OS | 32-bit | 64-bit |
---|---|---|
Windows | ️✔️ | ️✔️ |
MacOSX (Intel) | ❌ | ️✔️ |
MacOS (Apple Silicon) | ❌ | ️✔️ |
Linux | ️✔️ | ️✔️ |
Linux ARM | ️✔️ | ️✔️ |
v3.0 Related Projects
Other Projects
ENERGY QQ Group & WeChat
Innovative functions break through difficulties. Light up the star
and strive forward together!
<p align="center"> <img src="https://energye.github.io/imgs/assets/qq-group.jpg" width="250" title="QQ Group: 541258627" alt="QQ Group: 541258627"> <img src="https://energye.github.io/imgs/assets/we-chat.jpg" width="250" title="WeChat: sniawmdf" alt="WeChat: sniawmdf" style="margin-left: 30px;"> </p>