Go GUI 開發者調查結果

語言: CN / TW / HK

爭做團隊核心程式設計師,關注「 幽鬼

大家好,我是程式設計師幽鬼。

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

重點如下:

  • 高達 15% 的 Go 社群正在開發圖形應用程式(GUI)

  • 32% 的受訪者選擇 Go 是因為工具包而不是語言本身

  • Fyne 似乎比 GTK+ 和 Qt 加起來更受歡迎,而 Gio 顯然比 GTK+ 更受歡迎

哪些人蔘與調查?

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

img

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

Go 體驗

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

img

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

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

工具箱偏好

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

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

img

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

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

img

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

選擇 GUI 技術

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

img

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

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

img

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

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

原文連結:http://fynelabs.com/2022/05/03/go-gui-developer-survey-results/

參考資料

[1]

Fyne: http://fyne.io/

[2]

Gio: http://gioui.org/

往期推薦

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