Go GUI 開發者調查結果

大家好,我是程序員幽鬼。

這是第一次 Go GUI 開發者調查結果。這是 Fyne[1] 和 Gio[2] 社區的開發者進行的 Go GUI 開發者調查結果。

重點如下:

哪些人蔘與調查?

近 600 名開發人員對這項調查做出了迴應,我們的目標是使用或調查將 Go 作爲開發圖形應用程序的語言的開發人員。由於這與 Go Developer 調查的目標受衆不同,我們決定詢問他們是否參與了 Go 官方的調查。

圖片

根據 2021 年的 Go 開發者調查,大約 8% 的 Go 開發者正在開發桌面 / GUI 應用程序。從我們上面的圖表中,我們發現 45% 的 GUI 開發人員沒有參與社區調查,因此實際數字可能高達 15% 的 Go 開發人員正在開發圖形應用程序!

Go 體驗

我們想更多地瞭解用戶選擇 Go 語言的原因以及他們在構建項目時與誰互動。這讓我們有機會了解我們的項目可以在哪些方面做得更好,從而爲開發人員提供出色的體驗。

圖片

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

圖片

我們還詢問了支持,有很多地方可以獲得幫助,大多數人確實設法回答了他們的問題。然而,我們看到近一半的人認爲他們無法獲得所需的支持——這是我們的項目必須繼續努力的方向。

工具箱偏好

由於 Go 內置了對通過瀏覽器(HTML、模板、Web 服務等)構建網站和應用程序的支持,因此預計該領域會有很多用途。與原生應用程序(爲平臺 GUI 工具包或抽象編譯)相比,我們決定探索有多少開發人員在使用這些技術:

圖片

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

圖片

查看圖表中最流行的 5 種技術,我們可以看到 60%(Fyne、Gio 和 Shiny)是專門爲 Go 語言設計的。還值得注意的是,Fyne 和 Gio 還不到 5 年,但事實證明它們比行業領先的 Qt 和 GTK 更受歡迎,它們各自已經開發了 30 多年!

比較工具包時被問到的另一個問題是查看正在開發的項目類型,以便我們可以比較何時選擇每個工具包。下圖顯示了五個不同的工作領域,並比較了每個工具包的使用情況。

圖片

如你所見,Fyne 和 Gio 都非常受歡迎,但更多地用於第一次開發人員、業餘愛好者和開發人員探索新工作項目的選項。這種趨勢類似於 GTK+ 的使用,儘管它更多地用於已建立的 Go 項目。大多數技術的使用量大體相似,儘管我們可以看到 Qt 顯然對現有的 Go 開發團隊很有吸引力——可能是因爲它的使用時間比所有替代方案都長。

選擇 GUI 技術

我們討論的最後一部分是開發人員如何選擇 GUI 工具包或庫——反映對他們來說重要的事情以及它們是如何工作的。我們要求受訪者根據它們對技術決策的重要性對各種因素從 0 到 5 進行排名:

圖片

雖然多平臺支持對 Go 開發人員很重要並不奇怪,但我們驚訝地發現可用性排名更高。同樣有趣的是,輕鬆構建自定義用戶界面的能力被視爲比生成的應用程序的 CPU 和內存使用更重要。總體能源效率(以及電池壽命)被認爲是最不重要的——這可以解釋爲什麼基於 Web 的解決方案仍然很受歡迎,儘管需要標準 Go 開發的額外技術和技能。

最後我們問,是什麼阻礙了你使用 Go 構建更多圖形應用程序?這又是一個選擇題——“其他” 選項可用,但在給定選項之外沒有多少標準答覆。

圖片

從這些數據中我們可以看出,運行時依賴和 C 的底層使用仍然是許多 Go 開發人員關注的問題。這可能是 Qt 和 GTK+ 沒有像 Fyne、Gio 和 Shiny 等 Go 原生工具包那樣被使用的一個因素。此外,文件大小和分發難度均高於獲得支持的任何問題。這似乎表明,儘管許多開發人員(如前所述)在尋求支持方面遇到了困難,但他們還是設法完成了他們的應用程序。

感謝所有參與本次調查的人,我們希望數據具有洞察力,並且如果您尚未使用上述一些技術,您將考慮使用它們。快樂去:)。


原文鏈接:https://fynelabs.com/2022/05/03/go-gui-developer-survey-results/

參考資料

[1]

Fyne: https://fyne.io/

[2]

Gio: https://gioui.org/


歡迎關注「幽鬼」,像她一樣做團隊的核心。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/1crYFBhkkLhgurPqQWlDiw