Go GUI 開發(fā)者調查結果:GUI 開發(fā)不少
這是第一次 Go GUI 開發(fā)者調查結果。這是 Fyne[1] 和 Gio[2] 社區(qū)的開發(fā)者進行的 Go GUI 開發(fā)者調查結果。
重點如下:
高達 15% 的 Go 社區(qū)正在開發(fā)圖形應用程序(GUI) 32% 的受訪者選擇 Go 是因為工具包而不是語言本身 Fyne 似乎比 GTK+ 和 Qt 加起來更受歡迎,而 Gio 顯然比 GTK+ 更受歡迎
哪些人參與調查?
近 600 名開發(fā)人員對這項調查做出了回應,我們的目標是使用或調查將 Go 作為開發(fā)圖形應用程序的語言的開發(fā)人員。由于這與 Go Developer 調查的目標受眾不同,我們決定詢問他們是否參與了 Go 官方的調查。

根據 2021 年的 Go 開發(fā)者調查,大約 8% 的 Go 開發(fā)者正在開發(fā)桌面/GUI 應用程序。從我們上面的圖表中,我們發(fā)現 45% 的 GUI 開發(fā)人員沒有參與社區(qū)調查,因此實際數字可能高達 15% 的 Go 開發(fā)人員正在開發(fā)圖形應用程序!
Go 體驗
我們想更多地了解用戶選擇 Go 語言的原因以及他們在構建項目時與誰互動。這讓我們有機會了解我們的項目可以在哪些方面做得更好,從而為開發(fā)人員提供出色的體驗。

顯然,許多使用 Go 構建圖形應用程序的開發(fā)人員已經在其他項目中使用該語言,但看到有多少人因為可用的工具包和庫而選擇該語言,令人振奮。50% 的人認為 Go 是一種易于使用的語言,近四分之一的人熱衷于學習——這是一個非常強大的基礎,我們感謝語言和工具團隊建立了如此堅實的項目和社區(qū)。

我們還詢問了支持,有很多地方可以獲得幫助,大多數人確實設法回答了他們的問題。然而,我們看到近一半的人認為他們無法獲得所需的支持——這是我們的項目必須繼續(xù)努力的方向。
工具箱偏好
由于 Go 內置了對通過瀏覽器(HTML、模板、Web 服務等)構建網站和應用程序的支持,因此預計該領域會有很多用途。與原生應用程序(為平臺 GUI 工具包或抽象編譯)相比,我們決定探索有多少開發(fā)人員在使用這些技術:

正如你在上面看到的,絕大多數應用程序開發(fā)都是使用某種形式的本機工具包完成的。許多開發(fā)人員同時使用原生和 Web,但近 90% 的調查回復表示他們正在使用 Fyne、Gio、Qt 等原生工具包進行開發(fā)。我們還詢問了哪些工具包已用于應用程序開發(fā)。

查看圖表中最流行的 5 種技術,我們可以看到 60%(Fyne、Gio 和 Shiny)是專門為 Go 語言設計的。還值得注意的是,Fyne 和 Gio 還不到 5 年,但事實證明它們比行業(yè)領先的 Qt 和 GTK 更受歡迎,它們各自已經開發(fā)了 30 多年!
比較工具包時被問到的另一個問題是查看正在開發(fā)的項目類型,以便我們可以比較何時選擇每個工具包。下圖顯示了五個不同的工作領域,并比較了每個工具包的使用情況。

如你所見,Fyne 和 Gio 都非常受歡迎,但更多地用于第一次開發(fā)人員、業(yè)余愛好者和開發(fā)人員探索新工作項目的選項。這種趨勢類似于 GTK+ 的使用,盡管它更多地用于已建立的 Go 項目。大多數技術的使用量大體相似,盡管我們可以看到 Qt 顯然對現有的 Go 開發(fā)團隊很有吸引力——可能是因為它的使用時間比所有替代方案都長。
選擇 GUI 技術
我們討論的最后一部分是開發(fā)人員如何選擇 GUI 工具包或庫——反映對他們來說重要的事情以及它們是如何工作的。我們要求受訪者根據它們對技術決策的重要性對各種因素從 0 到 5 進行排名:

雖然多平臺支持對 Go 開發(fā)人員很重要并不奇怪,但我們驚訝地發(fā)現可用性排名更高。同樣有趣的是,輕松構建自定義用戶界面的能力被視為比生成的應用程序的 CPU 和內存使用更重要。總體能源效率(以及電池壽命)被認為是最不重要的——這可以解釋為什么基于 Web 的解決方案仍然很受歡迎,盡管需要標準 Go 開發(fā)的額外技術和技能。
最后我們問,是什么阻礙了你使用 Go 構建更多圖形應用程序?這又是一個選擇題——“其他”選項可用,但在給定選項之外沒有多少標準答復。

從這些數據中我們可以看出,運行時依賴和 C 的底層使用仍然是許多 Go 開發(fā)人員關注的問題。這可能是 Qt 和 GTK+ 沒有像 Fyne、Gio 和 Shiny 等 Go 原生工具包那樣被使用的一個因素。此外,文件大小和分發(fā)難度均高于獲得支持的任何問題。這似乎表明,盡管許多開發(fā)人員(如前所述)在尋求支持方面遇到了困難,但他們還是設法完成了他們的應用程序。
感謝所有參與本次調查的人,我們希望數據具有洞察力,并且如果您尚未使用上述一些技術,您將考慮使用它們。快樂去:)。
原文鏈接:https://fynelabs.com/2022/05/03/go-gui-developer-survey-results/
參考資料
Fyne: https://fyne.io/
[2]Gio: https://gioui.org/
推薦閱讀
