2024-12-30 15:45:10 +08:00
2024-12-24 14:46:53 +08:00
2024-12-23 18:00:14 +08:00
2024-12-26 11:29:50 +08:00
2024-12-20 18:35:31 +08:00
2024-12-23 18:29:33 +08:00
2024-04-14 16:38:00 +08:00
2024-12-19 22:58:40 +08:00
2024-12-30 15:45:10 +08:00
2023-07-19 20:06:52 +08:00
2024-10-18 14:39:45 +08:00
2024-12-25 10:13:23 +08:00
2024-12-25 10:13:23 +08:00
2024-05-16 11:37:34 +08:00
2024-12-09 19:12:50 +08:00
2024-12-09 19:12:50 +08:00
2024-12-24 10:37:27 +08:00

Energy is a GUI framework developed by Go, based on LCL and CEF

中文 | English


go-version github release Build Status repo Go Report Go Reference Discord codecov contributors license

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

  • LCL
  • CEF-CEF4Delphi

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

  1. Install development environment: energy install
  2. Initiate an Application: energy init
  3. 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

  1. Buildenergy build
  2. Packageenergy package
  3. Package Type
    • windows: Using nsis create exe installation package
    • linux: Using dpkg create deb installation package
    • macos: Generate xxx.app

System support

Windows MacOS Linux

OS 32-bit 64-bit
Windows ✔️ ✔️
MacOSX (Intel) ✔️
MacOS (Apple Silicon) ✔️
Linux ✔️ ✔️
Linux ARM ✔️ ✔️

Other Projects


ENERGY QQ Group & WeChat

Innovative functions break through difficulties. Light up the star and strive forward together!


QQ Group: 541258627 WeChat: sniawmdf


Thanks Jetbrains

JetBrains Logo (Main) logo.


Project screenshot

Windows-10
Windows-7 32 & 64
Windows-XP-SP3
Linux - Deepin
Linux - Kylin ARM
Linux - Ubuntu
MacOSX

Public License

license

Contributors

Description
Energy 是 Go 基于 LCL 和 CEF(Chromium Embedded Framework) 开发的 GUI 框架, 用于开发Windows、MacOS 和 Linux 跨平台桌面应用. 可仅用 LCL 创建轻量级原生应用,或结合 LCL 与 CEF 打造功能更全的应用程序.
Readme Apache-2.0 33 MiB
Languages
Go 99.6%
NSIS 0.1%