Migrated repository
Go to file
2023-09-28 11:06:43 +08:00
cef 修复 CEFChromium_CreateClientHandler 错误 2023-09-25 15:57:22 +08:00
cmd command-line: package darwin 2023-09-26 16:29:47 +08:00
common 在改变CEF FrameworkPatDir时也同时设置到进程环境变量(ENERGY_HOME) 2023-09-21 12:50:33 +08:00
consts 修复当前目录获取,改为当月执行目录和当前执行文件所在目录 2023-09-21 11:09:28 +08:00
example demo update 2023-09-22 14:57:26 +08:00
logger 增加Enable函数 2023-08-29 15:40:27 +08:00
pkgs 增加 winres,winicon工具包,用于生成windows 执行文件的icon,syso 2023-09-07 18:00:06 +08:00
types A: on message paint 2023-07-21 09:56:28 +08:00
.gitattributes U: .gitattributes 2023-07-19 20:06:52 +08:00
.gitignore 增加 winres,winicon工具包,用于生成windows 执行文件的icon,syso 2023-09-07 18:00:06 +08:00
go.mod 升级 golcl v1.0.7 2023-09-21 11:54:07 +08:00
go.sum 升级 golcl v1.0.7 2023-09-21 11:54:07 +08:00
LICENSE License GPL3.0 => Apache License 2.0 2023-02-14 20:33:57 +08:00
README.md update readme 2023-09-28 11:06:43 +08:00
README.zh_CN.md update readme 2023-09-28 11:06:26 +08:00

Energy is a framework for Go to build desktop applications based on CEF

中文 | English


go-version github release Build Status license repo

Project Introduction

Energy is a framework by Golang based on CEF(Chromium Embedded Framework), embedded CEF binary

energy is a framework developed by Golang based on CEF(Chromium Embedded Framework), embedded with CEF binary

Use Go and Web technology (HTML+CSS+JavaScript) to build cross-platform desktop applications that support Windows, Linux and MacOS

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, based on IPC communication, Go and Web can call each other quality.
  • Esource loading: You can either read local resources or resources build into execution files without http services, or you can load resources using 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 Download address

During the installation process, you can optionally install the following frameworks and tools, or you can download the resources yourself.

Name Platform illustrate
Golang ALL Golang Development Environment
CEF, liblcl ALL CEF Framework
NSIS Windows Windows Installation package production tool
UPX All Execute file compression tool
7z Windows, Linux CEF Framework compression 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 UsingnsisCreate exe installation package
    • linux UsingdpkgCreate deb installation package
    • macos Generatexxx.app

System support

Windows MacOS Linux

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

Thanks Jetbrains

JetBrains Logo (Main) logo.

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


QQ Group

QQGroup


Project screenshot

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

Public License

license

Contributors