Migrated repository
Go to file
2024-09-24 10:41:00 +08:00
.github/workflows U: go-version: '1.20' 2024-09-20 19:15:28 +08:00
cef U: Optimize and remove unnecessary code 2024-09-24 10:19:30 +08:00
cmd U: energy cli, add cli -v, -u 2024-09-19 23:15:41 +08:00
common R: Optimize and remove unnecessary code 2024-09-24 10:41:00 +08:00
consts A: CEF TTask 2024-05-14 22:14:56 +08:00
examples U: demo devtools 2024-08-12 17:10:07 +08:00
logger U: logger config SetLogFile 2024-04-14 16:38:00 +08:00
pkgs U: ext pkgs > form, image, panel 2024-04-22 08:45:49 +08:00
types U: Adjusting the default implementation event to the chrrimbrowser structure 2024-04-07 12:23:29 +08:00
.gitattributes U: .gitattributes 2023-07-19 20:06:52 +08:00
.gitignore U: .gitignore 2024-04-15 10:20:36 +08:00
go.mod U: Remove CLI dependencies 2024-09-18 21:30:47 +08:00
go.sum U: Remove CLI dependencies 2024-09-18 21:30:47 +08:00
LICENSE Apache License 2.0 2024-05-16 11:37:34 +08:00
README.md README 2024-05-16 11:37:53 +08:00
README.zh_CN.md README 2024-05-16 11:37:53 +08:00
UpdateLog.md U: UpdateLog.md 2024-09-03 19:43:48 +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 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

  • Using energy command line tools to install the complete development environment automatically.

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://energy.yanghy.cn"
	//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

32 Bit 64 Bit Test System Version
Windows Windows Windows Windows XP SP3、 7、10、11
MacOSX MacOSX MacOSX MacOSX 10.15
MacOS M1 M2 MacOS MacOS MacOS M2
Linux Linux Linux Deepin20.8、Ubuntu18.04、LinuxMint21
Linux ARM Linux ARM Linux ARM Kylin-V10-SP1-2107

Welcome to join

join energy throwing in the process of construction, there are many things that cannot be completed alone, if there are interested students who want to participate in the realization or learning of energy, you can contact me through WeChat or QQ.

If this project is helpful to you, please give me a star


ENERGY QQ Group & WeChat

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