Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 5 days 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-01-15T04:09:08.000Z (23 days ago)
- Last Synced: 2025-01-25T16:25:27.663Z (13 days 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.2 MB
- Stars: 411
- Watchers: 9
- Forks: 31
- 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---
![go-version](https://img.shields.io/github/go-mod/go-version/energye/energy?logo=git&logoColor=green)
[![github](https://img.shields.io/github/last-commit/energye/energy/main.svg?logo=github&logoColor=green&label=commit)](https://github.com/energye/energy)
[![release](https://img.shields.io/github/v/release/energye/energy?logo=git&logoColor=green)](https://github.com/energye/energy/releases)
![Build Status](https://github.com/energye/energy/actions/workflows/build-test.yml/badge.svg)
![repo](https://img.shields.io/github/repo-size/energye/energy.svg?logo=github&logoColor=green&label=repo-size)
[![Go Report](https://goreportcard.com/badge/github.com/energye/energy)](https://goreportcard.com/report/github.com/energye/energy/v2)
[![Go Reference](https://pkg.go.dev/badge/github.com/energye/energy)](https://pkg.go.dev/github.com/energye/energy/v2)
[![Discord](https://img.shields.io/discord/1303173966747271209)](https://discord.gg/TejjxKz9)
[![codecov](https://codecov.io/gh/energye/energy/graph/badge.svg?token=H370UFUF12)](https://codecov.io/gh/energye/energy)
[![contributors](https://img.shields.io/github/contributors/energye/energy)](https://github.com/energye/energy/graphs/contributors)
[![license](https://img.shields.io/github/license/energye/energy.svg?logo=git&logoColor=red)](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
- [![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)### [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)
![Windows](https://img.shields.io/badge/Windows-✔️-success.svg?logo=Windows&logoColor=blue)
![MacOS](https://img.shields.io/badge/MacOS-✔️-success.svg?logo=MacOS)
![Linux](https://img.shields.io/badge/Linux-✔️-success.svg?logo=Linux&logoColor=red)| 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
[![license](https://img.shields.io/github/license/energye/energy.svg?logo=git&logoColor=green)](http://www.apache.org/licenses/LICENSE-2.0)
### Contributors