Golang語言的跨平臺UI工具包fyne使用詳解
前言
Fyne 是 fyne-io 組織在 Github 上開源的 Go 語言 UI 工具包 ,目前版本為 v2.3.5,2.3版是Fyne API的最新版本,它添加了一個精致的主題設計以及云存儲,同時改進了國際語言和許多語言的文本處理較小的功能添加。我們現(xiàn)在正致力于下一個代號為Dalwhinnie。
Fyne是由Golang開發(fā)的跨平臺應用,除了對Windows、Mac、Linux這三大PC平臺提供了支持,還支持樹莓派、移動APP的打包發(fā)布,可以說在跨平臺方面做到了極致。另外Fyne項目沒有復雜目錄結構,使用一個獨立的go文件就能啟動一個簡單的應用。
安裝
Fyne 使用 Go 語言開發(fā),需要 Go 1.14 或以上,使用 go get 安裝:
go get fyne.io/fyne/v2
在導入新模塊后,請在第一次編譯代碼之前運行以下命令。避免在編寫使用模塊的代碼之前運行它,以防止意外刪除依賴項:
go mod tidy
Demo
Fyne的設計非常易于使用。請遵循了上述條件步驟安裝,現(xiàn)在需要打開IDE或者文本編輯器,然后打開一個新文件,既可以編寫您的第一個應用程序了。如下:
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() }
代碼十分簡潔明了。首先,通過 app.New() 創(chuàng)建一個應用實例,并新建一個標題為 Hello 的窗口。然后,使用 widget.NewLabel 來創(chuàng)建一個便簽,并在窗口設置 垂直方向排列的vbox 布局,首先放置標簽,然后再放置一個新建的按鈕。按鈕注冊了一個點擊事件的回調函數(shù),在點擊按鈕時會把標簽的文本更改為 Welcome。最后,運行并顯示窗口。
直接運行代碼
go run main.go
就會出現(xiàn)一個新的窗口,并顯示帶有一個標簽和一個按鈕的界面:
移動端方案
打包
想要在移動設備上運行,必須對應用程序進行打包。為此,我們可以使用fyne實用程序“package”子命令,添加適當?shù)膮?shù),參考的基本命令如下。打包后,您可以使用平臺開發(fā)工具或fyne“install”子命令進行安裝。
fyne package -os android -appID my.domain.appname fyne install -os android
構建的Android應用程序可以在真實設備或Android模擬器中運行。iOS的構建略有不同。如果"-os"參數(shù)是"ios",則它僅針對真正的ios設備構建。將“-os”指定為“iosimulator”允許應用程序在iOS模擬器中運行。
fyne package -os ios -appID my.domain.appname fyne package -os iossimulator -appID my.domain.appname
發(fā)布
使用fyne release命令,可以打包應用程序進行發(fā)布到應用商店和市場。確保安裝了標準生成工具并遵循了平臺文檔設置帳戶和簽名。然后可以執(zhí)行如下當-os為ios參數(shù)允許從macOS計算機構建iOS應用程序。
$ fyne release -os ios -certificate "Apple Distribution" -profile "My App Distribution" -appID "com.example.myapp"
上述命令將創(chuàng)建一個“.ipa”文件,然后可以將該文件上載到iOS應用商店。
總結
Fyne 作為一個 UI 工具包,依靠 Go 語言的優(yōu)秀性能,尤其是 goroutine 協(xié)程的異步特性,實現(xiàn)了高性能、易開發(fā)的圖形界面應用。Fyne 的使用和設計十分現(xiàn)代化,通過簡單的命令行就能實現(xiàn)跨平臺的開發(fā)和構建,安裝方便,平臺兼容性好。
Fyne 并未基于現(xiàn)有的 UI 庫進行開發(fā),而是直接使用不同平臺的圖形驅動實現(xiàn),完成了對跨平臺 UI 的抽象,底層代碼值得研究。
以上就是Golang語言的跨平臺UI工具包fyne使用詳解的詳細內容,更多關于Go跨平臺UI工具包fyne的資料請關注腳本之家其它相關文章!
相關文章
Go語言通過chan進行數(shù)據(jù)傳遞的方法詳解
這篇文章主要為大家詳細介紹了Go語言如何通過chan進行數(shù)據(jù)傳遞的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下2023-06-06