cef | ||
cmd | ||
common | ||
consts | ||
example | ||
logger | ||
pkgs | ||
types | ||
.gitattributes | ||
.gitignore | ||
go.mod | ||
go.sum | ||
LICENSE | ||
README.md | ||
README.zh_CN.md |
Energy is the framework for Go to build desktop applications based on CEF
中文 | English
Project Introduction
Energy is a framework developed by Golang based on CEF(Chromium Embedded Framework), embedded with 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
Knowledge of the front-end technology stack and some knowledge of the Go language is required
Characteristic
- development environment is simple and the compilation speed is fast. Only the Go development environment and the CEF binary framework that Energy depends on are needed
- cross-platform: A set of code can be packaged into Windows, domestic UOS, Deepin, Kylin, MacOS, Linux
- Language responsibilities
- Go: Go is responsible for window creation, CEF configuration and function implementation, creation of various UI components, low-level system calls, and functions that JS cannot handle, such as file stream, security encryption, high-performance processing, etc., which can be developed as a pure backend
- Web: HTML + CSS + JavaScript responsible for the function of the client interface, make any interface you want, can be used as a pure front-end development
- front-end technology: Support mainstream front-end frameworks, such as Vue, React, Angular or pure HTML+CSS
- event driven: High performance event driven, IPC based communication, Go and Web side is very convenient function call and data interaction
Built-in dependency&integration
Development environment
Install automatically using the energy command line tool
Basic needs
golang >= 1.18
energy development environment
Use the energy command line tool to automatically install the development environment
Get energy project, or use the precompiled command line tool directly Download address
If using pre compiled command-line tools, the following steps can be skipped
go get github.com/energye/energy
Enter the energy command line directory
cd energy/cmd/energy
Install command line tools
go install
Execute the installation command
energy install .
Getting Started Guide - Transfer gate
Quick Get Start
Use energy Command line tool automatic installation environment dependency
energy install .
Take example/simple as an example
Update latest release dependency
go mod tidy
Run
simple
in the IDE orgo run simple.go
example/simple Code
package main
import (
"github.com/energye/energy/v2/cef"
)
func main() {
//Global initialization must be called by every application
cef.GlobalInit(nil, nil)
//Create application
cefApp := cef.NewApplication()
//Set URL
cef.BrowserWindow.Config.Url = "https://www.yanghy.cn"
//Run App
cef.Run(cefApp)
}
Run app
- Windows、Linux
go run simple.go
- MacOS
go run simple.go energy_env=dev
Pack Project reference
- Compile: Go program compilation
go build simple.go
If you use resource built-in (HTML, CSS, JavaScript, Image, etc.), the resource will be compiled into the execution file - Copy: copy the execution file to the CEF directory of the ENERGY environment
- Packaging: use the installation package tool to make it as an installation package, Or refer to the production of installation package for each system platform
- Finally: the compiled program or installation package and CEF directory no longer need to configure the environment, and can be run directly in the CEF root directory
Go Compile Command
go build -ldflags "-H windowsgui -s -w"
-ldflags
-H windowsgui
optional: windows hide cmd black window
-w
optional: Removing debugging information can reduce the size of the execution file
-s
optional: Removing Symbol table information can reduce the size of the execution file
System support
32 Bit | 64 Bit | Test System Version | |
---|---|---|---|
Windows | Windows 7、Windows 10 | ||
MacOS | MacOSX 10.15 | ||
MacOS M1 M2 | -- | ||
Linux | Deepin20.8、Ubuntu18.04、LinuxMint21 | ||
Linux ARM | Kylin-V10-SP1-2107 |
Thanks Jetbrains
Thank please give this project a star
QQ Group
---