废话不多说,先看效果,我已经安装到 macOS 了。

它是如何构建的?答案是:Fyne 库的魔力。
什么是 Fyne?
Fyne 是一个用 Go 语言编写的跨平台 GUI 库,它允许开发者使用 Go 语言快速构建具有原生外观和感觉的桌面应用程序。
Fyne 的设计理念是简单、易用,同时提供丰富的组件和灵活的布局选项,使得开发者能够专注于应用逻辑,而不必担心界面设计的复杂性。
特点:
- 跨平台支持:一次编写,应用程序可运行在 - Windows、- macOS、- Linux,甚至- iOS和- Android上。
- 易于使用:API 设计简单,开发者无需深入学习复杂的 GUI 原理,只需要熟悉 Go 基础即可轻松上手。 
- 现代外观:Fyne 内置了美观的界面组件,不需要第三方主题支持,应用界面看起来即简洁又现代。 
Fyne 的基本架构
核心组件:
- 应用程序 (app):所有的 Fyne 应用都从 app.New() 开始。 
- 窗口 (window):创建窗口,管理窗口大小和显示内容。 
- 容器 (container):负责布局和排列组件,如按钮、标签、输入框等。 
- 组件 (widgets):Fyne 提供了丰富的 UI 组件,如按钮、标签、输入框等,能够帮助开发者快速搭建界面。 
Fyne 的安装
假设你已经安装了 Go 语言,只需要执行以下命令来安装 Fyne:
go get fyne.io/fyne/v2
Hello, Fyne! (示例)
package main
import (
 "fyne.io/fyne/v2/app"
 "fyne.io/fyne/v2/container"
 "fyne.io/fyne/v2/widget"
)
func main() {
 // 创建应用程序
 myApp := app.New()
 // 创建窗口
 myWindow := myApp.NewWindow("Hello Fyne")
 // 设置窗口内容
 label := widget.NewLabel("Hello, Fyne!")
 myWindow.SetContent(container.NewVBox(
  label, // 添加标签
  widget.NewButton("Click Me", func() { // 添加按钮
   label.SetText("Welcome to the world of Fyne!")
  }),
 ))
 // 显示窗口
 myWindow.ShowAndRun()
}
代码详解:
- app.New():创建应用程序实例。 
- myApp.NewWindow():创建一个新窗口,参数是窗口标题。 
- widget.NewLabel():创建一个文本标签,显示 "你好,Fyne!"。 
- widget.NewButton():创建一个按钮,点击按钮后会更新标签的内容。 
- container.NewVBox():将标签和按钮垂直排列在一起。 
运行效果:
 
  
Fyne 常见组件
常用组件如下:
- 标签 (Label):显示静态文本。 
- 按钮 (Button):用户点击后触发事件。 
- 输入框 (Entry):允许用户输入文本。 
- 进度条 (ProgressBar):显示操作进度。 
- 下拉框 (Select):用于选择一个选项。 
还可以自定义主题,Fyne 提供了默认的现代主题,但也可以根据需要自定义组件的外观,例如设置自定义字体、颜色等。
myApp.Settings().SetTheme(theme.LightTheme())  // 设置为浅色主题
Fyne 打包与发布
在 Fyne 中打包应用程序可以通过 fyne 提供的命令行工具 fyne-cross 和 fyne 自带的 fyne package 命令来实现。
使用 fyne package 打包
1、首先,确保你已经安装了 Fyne 的命令行工具。
go get fyne.io/fyne/v2/cmd/fyne
2、确保你的应用程序已经写好,并且可以正常运行。
3、运行以下命令进行打包:
fyne package -os windows  # Windows 打包
fyne package -os darwin   # macOS 打包
fyne package -os linux    # Linux 打包
参数:
- -os:指定打包的操作系统(windows、darwin、linux)。 
- -icon:可以通过 -icon 参数来设置应用的图标,使用 .png 格式。 
例如,将应用程序打包为 macOS 可执行文件,并指定图标:
fyne package -os darwin -icon license.png
使用 fyne-cross 打包跨平台应用
Fyne 提供了 fyne-cross 工具,可以跨平台打包应用程序。
例如,可以在 Linux 或 macOS 系统上打包 Windows 和 macOS 可执行文件。
一、安装 fyne-cross
go install github.com/fyne-io/fyne-cross@latest
二、使用 fyne-cross 打包
fyne-cross 支持多种平台打包,包括 Windows、macOS、Linux 以及 iOS 和 Android。
具体的打包命令如下:
fyne-cross windows    # 打包为 Windows 可执行文件
fyne-cross darwin     # 打包为 macOS 应用
fyne-cross linux      # 打包为 Linux 可执行文件
fyne-cross android    # 打包为 Android APK
fyne-cross ios        # 打包为 iOS 应用
感兴趣的,可以折腾起来了 ~
 
             
           
             
                         
            