Go 語言這麼強大,為什麼沒變成開發桌面軟體主力語言呢?

時間 2021-05-08 12:16:53

1樓:老虎說

桌面軟體需要實現ui部分,實現ui的方式,目前來看html和xml的方式是最合適的。

另外乙個原因就是現有技術已經成熟了,新技術除非有乙個級別的提公升,否則很難搶占市場份額。假如你遇到了乙個問題,一直找不到解決方案,你還會繼續選擇嗎,孤軍奮戰只會讓你失去先機。

即便是後端服務的市場份額,也用了很多年的努力

2樓:伊撒爾

emmm這個問題其實可以產生很多變種,比如為啥 rust 也不能成為 GUI 的主力開發語言呢?

其實 GUI 無非就兩個方向,乙個是 c++ 類的,有 qt 之類的 UI 庫,另一類就是 webview,使用瀏覽器和 node 介面

go 和 rust 之類為什麼做不了,本質上是因為他們就是做不了啊,一方面沒有 c++ 那樣有很主流的類庫,另一方面又不能和 node 一樣貼近 web

有一些比較好一點的方案,比如 tauri,使用 rust 做 binding,然後使用系統自帶的 webview,但是還是無法脫離 node 呀

未來有沒有可能 rust,go 成為 GUI 主力,我覺得還是不可能

甚至我認為 dart 或 swift 等語言倒有點希望

說實話,我寫了很多年 go,我發現這玩意除了寫服務端,其他方面幹啥啥不行emmm,趁早放棄不切實際的幻想,哈哈哈哈哈哈

3樓:

覺得可行的。後面肯定有go+libcef方向的重量級的框架。就像eclectron。go做後端,chrome做前端。

傳統的native桌面客戶端太重量級了,維護不容易,招人也難。

混合開發是趨勢。

4樓:jjmgx

這個gui值得試試的。我試過N多,就這個覺得好用。但如果要做漂亮的介面,要自繪或者html方式

5樓:自在

本來想著用golang寫node的addon,介面使用Electron,golang裡面做網路通訊、資料庫儲存之類的活,但是發現在windows下cgo使用的是gcc,而gyp用的是MSVC,編譯一關就過不了,各位有什麼好辦法嗎

6樓:deng

因為很多人看到它的強大的原因是谷歌旗下的,而不是看到它真正的強大在哪。

另外,想變成桌面開發的主力語言不只是語言強大這麼簡單,還需要框架和豐富的庫支援,再加上現在桌面開發這麼不流行,這些造就了這個結果

7樓:JoeRadar

我認為這是精細化分工的結果,也就是大家說的趨勢的問題。商業價值決定了它的發揮領域,我們更願意用它顯著的特點去解決以前其它語言不優雅的處理方式,而不是讓他成為全能選手(事實上這個和語言關係不大)。我們回到20年前,那時候開發windows都是用c或者c++,也可能會使用強大、臃腫、比較難用的mfc,如果當時就發布了go,可以試想它的ui庫有多少?

估計qt完全就是用go重寫了。

8樓:上天的飛機

因為go本身就不是為了寫介面而設計的。

現在做介面大多靠描述語言來定義。傳統的圖形庫qt有qml,.net有xaml,安卓和ios我不清楚,但應該是類似的。

最後借助語言來完善介面的動態效果。工具類軟體,大型軟體以及嵌入式軟體仍然以這些原生介面庫為主。

現在有些桌面程式也開始js化了,畢竟開發速度要比原生的快很多。

所以總go來做乙個跨平台的介面庫,不見得能在效能上戰勝前者,效率上戰勝後者。當然,現在貌似也有人在做這方面的嘗試。

9樓:周建華

根本原因在於:

工作量巨大巨難,即使個人開發者想圖個開心,也會累到放棄。

大公司更不可能去做,無利可圖!

另外:Go並不強大,它只是適合寫些併發服務,「強大」這個帽子有點重;

已經有幾個ui庫的繫結可以用了,但成不成熟就不知道了;

更好的方式,也有回答提到了,就是go作為後端服務,前端可以是qt,可以是html;

10樓:暴躁毒舌

樓上說得很好,補充一下:

桌面軟體呼叫系統介面比較多,c2go 就會比較氾濫,社群一直不滿意這個

在fuchsia裡,系統介面變成了rpc,就非常適合了。

11樓:傑林修

首先,按你問題裡的邏輯的話,go還不夠強

其次,從知乎都可以看出,go是一門喜歡的人很喜歡,討厭的人很討厭的語言,從這角度來看和php有點像。這一般說明這門語言有常突出的特色,在合適的領域非常舒服,在不合適的領域十分的彆扭。而GUI很不幸的沒有處於go的舒適區內。

當然,這不是說go不能做gui程式,只是說難以成為主流。畢竟,PHP都有人拿來做,桌面軟體不是。

最後,也是最重要的,桌面軟體看著簡單,其實是非常複雜的乙個工程,不然Linux下也不會有這麼多優秀的軟體沒有相配的GUI了。這就要求語言背後的爸爸或者社群在這一方面投入人力,時間和資源。而Google在桌面軟體方面的投入麼...

要不題主先了解下方flutter?

12樓:廖志

趨勢是所有的程式都可以WEB化,傳統的GUI實現已是頹勢,從長遠來看,無需GUI上下功夫

也無需老式的GUI庫 ,看看QQ和其它優秀程式,你就會了解這一點

13樓:Frederic·曉程式碼

1.Go確實很強大

2.Go目前已經有一些GUI的庫可以使用了3.為什麼不是桌面應用的主力?

其實每個語言在某階段都會有最試用的環境。目前Golang最擅長的是服務端的開發,但是以後隨著庫的完善和版本公升級,有可能也會很變得擅長開發Android或者桌面。

4.為什麼沒有人 ......?有,正如第二點,既然都有庫了,肯定有人用來做桌面開發了,只是人不多,產品不多而已。

國家很強大,為什麼幸福度不高?

HEDY 飛速增長的經濟和上層建築之間的差距,簡而言之,不適應,不習慣。焦慮了不是。我們從小養成的不浪費糧食,光碟光碗行不通了,健康的基礎是七分飽。我們從小接受的成龍成鳳教育,棍棒伺候行不通了,現在小孩心理健康更重要。我們的父母,委曲求全,我們做不到了,喪偶式婚姻太普遍,女人不敢結婚生子,這個問題,...

三體水滴的推進器這麼強大,為什麼不用來給三體飛船做動力?

真實的自己 我的理解是 人類目前能造出10馬赫的飛彈不意味著能造出10馬赫的飛機。因為乙個東西的速度不僅僅取決於推進方式,還和外形材料有關,打個比方就是水滴的材料在三體文明如果並不能量產,不足以覆蓋一艘星艦的話,再加上星艦的氣動外形並不如水滴那麼好,那就算推進方式足夠好也不能用啊,不然一飛自己就融化...

為什麼GO語言的效能還不如C

你不能用這麼粗暴的用 for 迴圈來測試效能,然後下論斷,而且你 Golang 和 C 的版本 執行環境都沒有說,Golang 這幾年提公升很大的。最後.題主建立 map 的時候都沒有設定 capacity,建議設定一下再看,go 這樣不設定的話挺影響效能的。 gao xinge 雖說比較語言效能招...