本文介绍如何在Go中使用Energy构建一个简单的桌面应用
前提-需要安装好开发环境参考: 教程一 环境安装
-
创建应用
- MacOSX需要在初始化之前设置开启开发环境自动打包
macapp.MacApp.IsCEF(common.IsDarwin())
- 全局初始化,在main函数中调用
cef.GlobalCEFInit(nil, nil)
- 创建应用,参数 应用配置 tCefApplicationConfig
- 参数默认nil, 可通过 应用配置自定义一些行为
cefApp := cef.NewApplication(nil)
- 浏览器窗口的一些简单配置,可配置窗口大小,标题、默认打开的地址,关于窗口更复杂的窗口相关配置在初始化回调函数中,参考后续教程
cef.BrowserWindow.Config
- 运行应用,这时在IDE中运行或编译后运行就可看到窗口了
cef.Run(cefApp)
- 注意:代码中未明确指定框架目录和energy库,需要通过环境变量 ENERGY_HOME=[FrameworkPath]
package main
import (
"github.com/energye/energy/v2/cef"
)
func main() {
//全局初始化 每个应用都必须调用的
cef.GlobalCEFInit(nil, nil)
//创建应用
cefApp := cef.NewApplication()
//主窗口的配置
//指定一个URL地址,或本地html文件目录
cef.BrowserWindow.Config.DefaultUrl = "https://www.csdn.net"
//运行应用
cef.Run(cefApp)
}
-
tCefApplicationConfig
应用配置
cef.NewApplicationConfig()
字段 | 描述 | 备注 |
---|---|---|
frameworkDirPath | 设置框架目录 | 默认空,当前执行程序目录 |
resourcesDirPath | 框架资源目录 | 默认空,当前执行程序目录 |
localesDirPath | 本地语言目录 | 默认空,当前执行程序目录 |
cache | 应用缓存目录 | 默认空,当前执行程序目录 |
userDataPath | 用户数据存放目录 | 默认空,当前执行程序目录 |
disableZygote | 设置进程模型,作用于linux-默认禁用 | 只对 linux 启作用 |
language | 应用支持的语言 LANGUAGE 类型 | - |
localesRequired | 应用支持的语言-检查所有的语言环境 逗号分隔 | 示例:zh-CN,en-US |
logFile | 设置CEF的日志文件目录 | - |
logSeverity | 设置CEF的日志级别 LOG 类型 | - |
mainBundlePath | 设置主程序绑定所在目录 | 作用于macos |
browseSubprocessPath | 设置子进程执行文件目录 | 一搬用于主进程过于复杂启动慢,需要独立出子进程 - 只对 非darwin 启作用 |
noSandbox | 设置关闭沙盒-默认关闭 | - |
disableZygote | 设置进程模型 | 作用于linux-默认禁用 |
enableGPU | 设置开启/关闭GPU加速 | 默认关闭 |
useMockKeyChain | 设置使用模拟key chain | - |
checkCEFFiles | 检测CEF文件默认不检测 | - |
remoteDebuggingPort | 设置远程调式端口 (1024 ~ 65535) | - |
-
示例效果图: