標籤:

go語言如何開發帶UI的軟體?

可以用現有其他語言的框架


Windows下可以試試這個:https://github.com/lxn/walk

前段時間用它寫了個帶GUI的程序,感覺還不錯。雖然沒有文檔,但是自帶的例子挺多的,可以當文檔看了。

//我用walk寫的CPU調度演算法模擬器截圖

/* Walk使用方法 */

//下載walk

go get http://github.com/lxn/walk

//編譯你的項目

go build

//或者編譯時加上flag,讓程序運行的時候隱藏cmd

go build -ldflags="-H windowsgui"

//還可以利用VS SDK里的mt工具內嵌manifest文件

mt.exe -nologo -manifest "C:projectcpus.exe.manifest" -outputresource:"C: projectcpus.exe;1"

/* 其他GUI資源 */

https://github.com/AllenDang/gform

https://code.google.com/p/go-wiki/wiki/Projects#GUIs_and_Widget_Toolkits

http://go-lang.cat-v.org/library-bindings


https://github.com/niemeyer/qml QML

或者嵌入個lua,再用lua調用gtk(lgi)。有了cgo和reflect,lua和golang間的通訊也很方便。實例 reusee/my-editor-gl 路 GitHub


Go-GTK


目前來講不建議用go開發ui程序。可以有折中選擇,比如main程序是go,然後利用go可以自然調用C代碼的能力,在C代碼中寫ui部分。ui部分用c/c++可以選擇的東西就比較多了,比如wxWidget、qt等。

UPDATE(2013-9-15):最近也簡單看了下go下面gui庫的進展,我覺得 http://github.com/lxn/walk 是成熟度最高的,如果希望純粹用go的話,可以一試。我剛剛跑了下樣例,結果 win7 下可以,xp 下失敗,提了個 issue,作者幾十分鐘內就 fix 了,很負責。


你如果想找golang的第三方包就去這裡找好了:

Go libraries and apps

還可以看到目前成長最快的包,現在看來最火的gui包應該是qt了,建議入手:https://github.com/therecipe/qt


推薦閱讀:

Google的新操作系統Fuchsia沒有使用Go語言開發,Go作為系統開發語言的定位是否已經失敗?
scala的akka和go的goroutine有什麼區別,分別更適合哪些應用場景?
Go語言做Web應用開發的框架,哪一個更適合入門?
多線程情況下 很多變數 頻繁訪問 難道每個都要加鎖訪問嗎?
如何看待 Dropbox 從 Go 轉向 Rust ?

TAG:Go語言 |