教程二 在Go中使用Energy创建跨平台应用 - 创建应用

156 阅读2分钟

教程-示例-文档

本文介绍如何在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)

-

  • 示例效果图: