Migrated repository
Go to file
2023-08-21 16:32:42 +08:00
cef U: main window, WindowProperty MainFormOnTaskBar 2023-08-20 21:08:14 +08:00
cmd U: upgrade command-line tool 2023-08-21 16:32:42 +08:00
common U: upgrade command-line tool 2023-08-20 22:56:42 +08:00
consts A: gtk2 support for CEF 106.1.1 2023-07-20 17:54:49 +08:00
example U: main window, WindowProperty MainFormOnTaskBar 2023-08-20 21:05:58 +08:00
logger Update document annotations and add some examples 2023-06-01 10:15:20 +08:00
pkgs U: lcl window SetFocus 2023-08-16 17:59:39 +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 U: .gitignore 2023-08-20 18:34:24 +08:00
go.mod Upgrade: golcl 2023-08-14 20:43:29 +08:00
go.sum Upgrade: golcl 2023-08-14 20:43:29 +08:00
LICENSE License GPL3.0 => Apache License 2.0 2023-02-14 20:33:57 +08:00
README.md U: README link 2023-08-14 11:34:02 +08:00
README.zh_CN.md U: README link 2023-08-14 11:34:02 +08:00

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

中文 | English


github release license repo

go-version

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

  • LCL
  • CEF-CEF4Delphi

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/v2

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 or go 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

  1. 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
  2. Copy: copy the execution file to the CEF directory of the ENERGY environment
  3. 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
  4. 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

Windows MacOS Linux

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

Thanks Jetbrains

JetBrains Logo (Main) logo.

Thank please give this project a star


QQ Group

QQGroup


Project screenshot

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

Public License

license