github.com/fyne-io/fyne是一个免费且开源的跨平台UI工具包,用于在桌面和移动平台上创建图形用户界面(GUI)。它使用OpenGL提供跨平台图形,并受到Material Design原则的启发,以创建在所有平台上外观和行为一致的应用程序。
Fyne旨在成为开发美观且易用的原生图形应用程序的最佳工具包。构建跨平台图形应用程序复杂且难以学习。所涉及的技术较旧,因此带有遗留设计选择。
Fyne结合了Go编程语言的强大性和简单性,以及精心设计的小部件库,使您能够比以往任何时候都更容易地构建应用程序并将其部署到所有平台和商店。它还提供了fyne命令来打包静态资源和应用程序。
Fyne具有简洁易学的API、Material Design的清晰外观和清晰的文档,支持新一代跨平台应用程序开发。使用Fyne构建的应用程序数量不断增长,其中许多也是开源的。
package main
import (
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/widget"
)
func main() {
a := app.New()
w := a.NewWindow("Hello")
hello := widget.NewLabel("Hello Fyne!")
w.SetContent(container.NewVBox(
hello,
widget.NewButton("Hi!", func() {
hello.SetText("Welcome :)")
}),
))
w.ShowAndRun()
}
有许多使用Fyne工具包构建的应用程序示例。一个可以找到例子的地方是GitHub上的Fyne examples存储库fyne-io/examples: Examples apps using the Fyne toolkit (github.com)。此存储库包含使用Fyne工具包的示例应用程序集合。我们可以通过运行go-run来启动链接到所有其他应用程序的主要示例应用程序。所有这些示例都是完全可扩展的,并且许多示例也响应当前主题。此存储库中包含的一些基于小部件的示例包括:
Calculator: 已移动到计算器存储库
Bugs game (like MineSweeper):狩猎方块,揭示除了bug之外的一切!XKCD:具有随机和查找功能的XKCD漫画浏览器。
还有一些基于图形的示例使用Fyne画布API绘制基本形状、文本和图像来创建自定义用户界面。其中一些例子是:
时钟:一个简单的模拟时钟,匹配当前的主题。
分形:可以平移和缩放的分形查看器
纸牌:移动到纸牌存储库
生命:移动到生命存储库
希望这能让你很好地了解使用Fyne工具包可以构建什么!