本文介绍如何在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/cef" )
func main() { //全局初始化 每个应用都必须调用的 cef.GlobalCEFInit(nil, nil) //创建应用 cefApp := cef.NewApplication(nil) //主窗口的配置 //指定一个URL地址,或本地html文件目录 cef.BrowserWindow.Config.DefaultUrl = "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)
-
-
示例效果图: