energy/README.md
2023-02-17 13:02:16 +08:00

8.2 KiB

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

中文 | English


github release license downloads 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

Based on Go and CEF cross-platform features

Go interacts with the Web

The Go and Web technologies are based on IPC communication. Data and event triggering can be exchanged between Go and Web without using the http interface, which is as simple as calling the functions of the language itself

Define JS binding type variables in Go and provide them to JS on the Web side to realize data synchronization of Go variables or structural objects

Listen for events in JS and trigger JS events in Go to achieve Go calling JS functions and passing parameter

Listen for events in Go and trigger Go events in JS to achieve JS calling Go functions and passing parameters

Built-in dependency&integration

  • golcl
  • golcl
  • CEFDelphi
  • CEF

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

  1. go get github.com/energye/energy

Enter the energy command line directory 2. cd energy/cmd/energy

Install command line tools 3. go install

Execute the installation command 4. 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/cef"
)

func main() {
	//Global initialization must be called by every application
	cef.GlobalInit(nil, nil)
	//Create application
	cefApp := cef.NewApplication(nil)
	//Set URL
	cef.BrowserWindow.Config.Url = "https://energy.yanghy.cn"
	//Run App
	cef.Run(cefApp)
}

Pack Project reference

  1. Compile: Go program compilation go build xxx. 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

  1. Compress and hide the cmd window go build -ldflags "-H windowsgui -s -w", Note: Windows needs to hide the CMD window
  2. Compress go build -ldflags "-s -w"
  3. Uncompressed go build

System support

Windows MacOSX Linux

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

QQ Group

QQGroup


Project screenshot

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

Public License

license