Migrated repository
Go to file
2022-11-17 14:22:21 +08:00
cef ENV config MacOSX 2022-11-17 14:22:21 +08:00
cmd 命令行工具优化输出说明 2022-11-11 22:36:31 +08:00
common optimize 2022-11-02 15:41:51 +08:00
consts 修复自动关闭问题 2022-10-30 00:35:04 +08:00
decimal go datetme d datetime 2022-10-05 15:33:17 +08:00
example ENV config MacOSX 2022-11-17 14:22:21 +08:00
ipc 1. commons -> common 2022-11-02 12:47:47 +08:00
logger demo 示例目录和说明 2022-10-20 14:16:38 +08:00
.gitattributes 增加示例使用和注释说明 2022-10-05 20:37:20 +08:00
.gitignore 命令行工具 安装依赖 2022-11-10 23:22:53 +08:00
go.mod ENV config MacOSX 2022-11-17 14:22:21 +08:00
go.sum ENV config MacOSX 2022-11-17 14:22:21 +08:00
LICENSE Initial commit 2022-10-04 00:30:09 +08:00
README.en-US.md README.md 2022-11-05 18:50:58 +08:00
README.md README.md 2022-11-05 18:50:58 +08:00

Energy is Go's framework for building desktop applications based on CEF

中文 | English


Introduction

Energy Is a framework for building desktop applications using JavaScript,HTML, and CSS based on Golcl and CEF4Delphi Pure Go language development framework, embedded Chromium CEF binary

Allows you to use Web front-end technology to build cross-platform applications on Windows, Linux, and MacOS

You can use the Energy and Golcl to build compact system UI cross-platform application separately

Supports Windows_32, 64 bits, Linux_x86_64 bits, MacOS_x86_64 bits

In Go and Web technologies, based on IPC communication, you can easily interact data, function calls, and event calls between Go and Web without the need for a Web Service interface, just as easily as calling functions in the language itself

In Go, you can also define JS variables, which can be used by Web end JS to realize Go variable or structure object data synchronization

Call JS function and JS event listener in Go to realize functional interaction between GO and JS

Call Go function in JS, listen to events of Go, and realize functional interaction between JS and GO

windows 32 bits

CEF(105.3.39) Energy(1.1.0)
Windows 32 bits windows 32 bits
Windows 64 bits windows 64 bits
Linux x86 64 bits linux x86 64 bits
MacOSX x86 64 bits macOSX x86 64 bits

CEF and Energy framework compression package instructions

Getting started guide

Quick start

Basic needs

golang >= 1.9.2

Download the CEF binary package for the corresponding platform and version, and decompress it to the directory.

Example/simple example

Install Energy dependencies go get github.com/energye/energy

Or use: go mod init, go mod tidy

run simple

The packaging application Energy does not have packaging modules, Windows you can use (MSI or Inno Setup) and other green packaging tools, Deb installation package in Linux, MacOS generates. App packages by default or custom. App packages

example/simple code
package main

import (
	"embed"
	"fmt"
	"github.com/energye/energy/cef"
	"github.com/energye/golcl/lcl"
)

//go:embed resources
var resources embed.FS

//这是一个简单的窗口创建示例
func main() {
	//全局初始化 每个应用都必须调用的
	cef.GlobalCEFInit(nil, &resources)
	//可选的应用配置
	cfg := cef.NewApplicationConfig()
	//指定chromium的二进制包框架根目录, 不指定为当前程序执行目录
	cfg.SetFrameworkDirPath("/xxxx/xxxx/chromium")
	//创建应用
	cefApp := cef.NewApplication(cfg)
	//主窗口的配置
	//指定一个URL地址或本地html文件目录
	cef.BrowserWindow.Config.DefaultUrl = "https://energy.yanghy.cn"
	//窗口的标题
	cef.BrowserWindow.Config.Title = "energy - 这是一个简单的窗口示例"
	//窗口宽高
	cef.BrowserWindow.Config.Width = 1024
	cef.BrowserWindow.Config.Height = 768
	//chromium配置
	cef.BrowserWindow.Config.SetChromiumConfig(cef.NewChromiumConfig())
	//通过创建窗口时的回调函数 对浏览器事件设置,和窗口属性组件等创建和修改
	cef.BrowserWindow.SetBrowserInit(func(event *cef.BrowserEvent, browserWindow *cef.TCefWindowInfo) {
		//设置应用图标 这里加载的图标是内置到执行程序里的资源文件
		lcl.Application.Icon().LoadFromFSFile("resources/icon.ico")
		fmt.Println("SetBrowserInit")
	})
	//创建窗口之后对对主窗口的属性、组件或子窗口的创建
	cef.BrowserWindow.SetBrowserInitAfter(func(browserWindow *cef.TCefWindowInfo) {
		fmt.Println("SetBrowserInitAfter")
	})
	//运行应用
	cef.Run(cefApp)
}

Installation

  • Download the binary package for the corresponding platform and energy version
  • Install Energy dependencies go get github.com/energye/energy Or use: go mod init, go mod tidy
  • Create a GO application, see the Getting Started Guide and Example

License

License GPL 3.0