golang桌面gui库fyne使用

golang桌面gui库fyne使用

使用

初始项目
  • 新建项目文件夹fyna
  • 执行go mod init
  • 执行go get fyne.io/fyne/v2
  • 执行go mod tidy
  • 创建main.go

执行以上步骤即可创建一个fyne环境

hello world

代码如下:

package main

import (
	"fyne.io/fyne/v2/app"
	"fyne.io/fyne/v2/widget"
)

func main() {
	a := app.New()
	//创建一个窗口
	w := a.NewWindow("hello world")
	//设置窗口内显示内容
	w.SetContent(widget.NewLabel("hello world!"))
	//展示窗口 并运行程序
	w.ShowAndRun()
}

运行代码执行go run main.go或者go run .
可以看到一个标题为hello world内容显示为hello world!的窗口程序

打包

打包桌面程序

参考:https://developer.fyne.io/started/packaging

打包一个图形程序步骤比较复杂,典型的窗口程序包含图标和一些元数据,包括在不同环境下的一些不同表现格式的数据整合。

在fyne中有package打包命令,可以自动处理打包中的问题。但是需要打包时设置具体的打包系统和需要的元数据(比如图标)就可以打包程序了。图标也可以自动生成.icns.ico后缀的图标文件,所以只需要提供.png文件。最终只需要处理需要打包的平台即可。

打包命令如下:

go install fyne.io/fyne/v2/cmd/fyne@latest
fyne package -os darwin -icon myapp.png

如果go版本低于1.16,则使用go get命令:

go get fyne.io/fyne/v2/cmd/fyne
fyne package -os darwin -icon myapp.png

打包成windows环境或liunx环境可执行程序命令:

fyne package -os linux -icon myapp.png
fyne package -os windows -icon myapp.png

以上命令将会生成:

  • myapp.tar.gz
  • myapp.exe

安装当前系统的桌面app应用:

fyne install -icon myapp.png
打包手机程序

参考:https://developer.fyne.io/started/mobile

打包为移动端程序需要对应SDK环境。Android程序需要安装Android SDKNDK及其对应的环境工具(如 adb)。打包IOS app需要安装Xcode和对应的包工具。
有了对应环境后,打包命令如下:

fyne package -os android -appID com.example.myapp -icon mobileIcon.png
fyne package -os ios -appID com.example.myapp -icon mobileIcon.png

第一次打包可能比较耗时。打包结果:

  • myapp.apk – Android
  • myapp.app – ios

安装安卓程序到手机或模拟器命令:

adb install myapp.apk

安装ios app需要打开Xcode>Window>Devices and Simulators,然后将myapp.app拖入app list.

安装到模拟器命令:

xcrun simctl install booted myapp.app
打包配置

以上命令都可以通过提供默认图标文件 Icon.png来避免每次打包都要执行图标参数。2.1版本后支持提供元数据文件FyneApp.toml来配置打包参数。注意,这些文件需要位于命令运行的目录下。
如:

Website = "https://example.com"

[Details]
Icon = "Icon.png"
Name = "My App"
ID = "com.example.app"
Version = "1.0.0"
Build = 1

发布

参考:https://developer.fyne.io/started/distribution

打包完的程序可以直接分享或者发布,但是如果想要发布到对应的软件市场,则需要些额外的步骤,根据发布的平台不同,还需要设置一些具体的配置。

这里需要使用到fyne release用来处理发布到不同平台商店的配置。对应不同平台步骤如下。

macOS App Store

前提:

  • Apple mac running macOS and Xcode(Xcode环境)
  • Apple Developer account(苹果开发者账号)
  • Mac App Store application certificate(AppStore证书)
  • Mac App Store installer certificate(AppStore安装证书)
  • Apple Transporter app from App Store(Transporter工具)

步骤:
1. 前往AppStore Connect设置要构建的app版本信息
2. 打包发布信息
bash fyne release -appID com.example.myapp -appVersion 1.0 -appBuild 1 -category games
3. 将.pkg文件拖入Transporter工具并点击Deliver
4. 返回 AppStore Connect 网站,选择要发布的版本并提交。

Google Play Store (Android)

前提:

  • Google Play Console 账号
  • 发布的keystore(文档

步骤:

  1. 前往 谷歌开发者控制台设置相关版本数据,并关闭Play app signing
  2. 打包发布信息
 fyne release -os android -appID com.example.myapp -appVersion 1.0 -appBuild 1
  1. .apk文件拖入Play Console
  2. 发布版本
iOS App Store

前提:

  • Apple mac running macOS and Xcode(Xcode环境)
  • Apple Developer account(苹果开发者账号)
  • iOS App Store distribution certificate(ios App 发布证书)
  • Apple Transporter app from App Store(Transporter工具)

步骤:

  1. 前往AppStore Connect设置要构建的app版本信息
  2. 打包
 fyne release -os ios -appID com.example.myapp -appVersion 1.0 -appBuild 1
  1. .ipa文件拖入Transporter工具并点击Deliver
  2. 返回 AppStore Connect 网站,选择要发布的版本并提交。

完。

  • 16
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值