Energy is a GUI framework developed by Go, based on LCL and CEF
中文 |
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
System support
| OS |
32-bit |
64-bit |
| Windows |
️✔️ |
️✔️ |
| MacOSX (Intel) |
|
️✔️ |
| MacOS (Apple Silicon) |
|
️✔️ |
| Linux |
️✔️ |
️✔️ |
| Linux ARM |
️✔️ |
️✔️ |
v3.0 Related Projects
Other Projects
- CEF(Chromium Embedded Framework)
- CEF4Delphi
- CefSharp
- Java-CEF
- cefpython
- Chromium
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
Contributors