熱門 Golang 應用:使用 Golang 製作的 6 個最佳應用
已發表: 2020-06-05Golang 編程語言(也稱為 Go)快速且易於使用,正在迅速普及。 根據 Github 統計,在 2018 年至 2019 年間,圍棋社區增長了 147%。 Golang 吸引了很多公司,因為它是為複雜的企業項目設計的。 那麼,你究竟能用這種編程語言做什麼呢?
在本文中,我們將仔細研究頂級 Golang 應用程序。 這些現實生活中的示例將幫助您了解 Google Go 如何成為您企業的正確選擇!

探索移動應用的未來
免費獲取報告!使用 Golang 開發的前 6 個應用程序
1. Golang 銀行應用程序 – Monzo
大多數公司將 Golang 與微服務架構一起引入。 基於應用程序的在線銀行 Monzo 的情況也不例外。 當他們在 2015 年 2 月首次開始設置應用程序時,他們專注於單一責任原則。 它指出每個模塊都應該負責一個功能。 這種方法使應用程序更加穩定——這就是 Go 非常適合的地方。 Monzo 是一個從一開始就基於 Golang 構建的應用程序的經典示例。
隨著 Monzo 的不斷發展,Golang 幫助公司擴展了產品。 技術團隊表示,Go “非常適合微服務架構”,因為它可以幫助他們創建細粒度的服務,這些服務加起來是一個穩定的應用程序。
Monzo 由 1,600 多個微服務組成。 該公司的高級工程師 Matt Heath 聲稱 Go 允許他們維護如此復雜的架構。 用他的話說,這種語言“非常簡單 [...] 並且很容易 [...] 讓人們參與進來” 。 事實上,Golang 以其低學習曲線而聞名——一些人聲稱開發人員可以在一個晚上內學習基礎知識!
2. Golang 電商應用——Allegro
對於 Monzo,Go 從一開始就是主要語言。 對於自 1999 年成立的波蘭電子商務巨頭 Allegro 而言,Golang 的故事有所不同。快進到 2016 年,Allegro 技術團隊一直在尋找一種有效的方法來創建非常快速的緩存服務。 他們決定嘗試一些新的東西並選擇 Golang 來完成這項任務。
Allegro 的大多數微服務都是用 Java 編寫的,但團隊願意探索新事物。 他們之前曾參與過一個開源 Go 項目,並且很高興看到 Golang 將如何處理更大的流量。
最後的結果是驚人的。 Go 幫助 Allegro將應用程序從 2.5 秒加速到不到 250 毫秒,這是最長的請求! Allegro 團隊對 Golang 發誓,並很高興在與 Go 相關的會議上分享他們的見解。
3. Golang 音樂應用——SoundCloud

SoundCloud 是一個專注於藝術家的音樂共享平台,是 Go 的早期採用者。 在所有頂級 Golang 應用程序中,以藝術家為中心的音樂共享平台 SoundCloud 是相當早的採用者。 早在 2012 年,他們就在 SoundCloud 上發表了一篇關於 Go 的文章。
儘管該應用程序主要基於 Ruby on Rails,但 SoundCloud 被認為是一家多語言公司,其後端添加了多種語言。 他們欣賞 Golang 作為一種所見即所得(所見即所得)的語言。 這使整個團隊更容易理解軟件並使維護過程更加高效。
更重要的是,SoundCloud 讚賞 Golang 的快速編譯和靜態類型。 通俗地說,這意味著開發、測試和部署應用程序的速度盡可能快。 該團隊聲稱,這些快速流程意味著一些簡單的想法可以在短短一小時內從白板變為生產。 令人印象深刻,不是嗎?
4. Golang 約會應用 – Badoo
Badoo 在全球 190 個國家/地區擁有 4 億用戶,是世界上使用最廣泛的約會網絡。 這些數字需要高效的搜索算法——這就是 Golang 派上用場的地方。

為了提供盡可能流暢的搜索體驗,Badoo 技術團隊使用位圖索引創建服務。 位圖索引由代表實體(在本例中為約會應用程序的用戶)及其參數(例如年齡或頭髮顏色)的多個位圖組成。 這使得它非常適合尋找有這個、這個和那個的人的用戶——比如說,25-30 歲、金發、身高超過 180 厘米的男性。 約會應用程序的天作之合,不是嗎?
訣竅是:位圖索引很難在許多流行的數據庫管理系統中實現,例如 MySQL。 解決方案? 你猜對了:Golang。 位圖索引通常用於 Pilosa,這是一個用 Go 編寫的數據庫管理系統。 無需過多介紹技術細節,Go 語言就可以順利實現位圖索引,這就是 Badoo 團隊決定將其用於高維護產品的原因。
5. Golang 拼車應用——優步
是的,你沒看錯——甚至 Uber 也在使用 Golang 來提高他們的拼車服務質量。
該公司使用地理圍欄進行地理定位。 地理圍欄定義了具有特定要求的區域。 大多數時候,它適用於機場或特別繁忙的社區。 看看烏干達坎帕拉的這個地理圍欄示例:
儘管 Node.js 是 Uber 的首選語言,但他們決定開始使用 Go 來提供這項服務。 該公司需要一些快速的東西,因為他們每秒要處理數十萬個地理圍欄查找請求! Golang 被證明是完美的選擇,因為它可以同時在多個 CPU 內核上工作,而 Node.js 是單線程的。 換句話說,Go 語言可以同時做多件事。
事實證明,這個選擇在很大程度上是成功的,Uber 團隊很高興使用 Golang。 它不僅速度更快,而且還使軟件開發人員的工作效率更高。 當他們已經熟悉 Java、C++ 或 Node.js 時,他們將能夠在幾天內學習 Go。
當談到應用程序的性能時,結果確實令人印象深刻。 2015 年新年前夜,Uber 的數據中心成功處理了 CPU 使用率僅為 35% 的峰值負載。 最重要的是,該公司可以吹噓高達99.99% 的正常運行時間,停機時間僅由第三方庫而不是 Golang 本身引起。
受到地理圍欄成功的鼓舞,Uber 開始在其更多的微服務中實施 Golang。 例如,他們也在使用這種語言將乘客與合適的司機進行匹配。 它已成為他們在產品中創建新服務的最流行的語言。 可以肯定地說,就受歡迎程度而言,Uber 是頂級 Golang 應用程序之一。
6. Golang 項目管理應用——時間表
最後但同樣重要的是,這是我們創建的 Golang 應用程序的示例。 Timesheets 是我們第一次用作內部工具的時間跟踪解決方案。 由於我們對此非常滿意,因此我們決定與公眾共享時間表。 該工具還可以與一系列其他工具集成,包括 Slack、Jira 甚至語音助手。
查看我們其他成功的項目
查看我們的產品組合在創建 Timesheets 時,Golang 是我們的首選。 我們想創建一個超輕、快速且足夠的應用程序,而 Golang 的多線程使它變得更加容易。 更重要的是,當我們在一個存儲庫中使用公共部分時,我們可以同時運行不同的進程。 總而言之,Golang 顯著加快了開發過程。
如何處理 Golang 應用程序開發
尋找頂級 Golang 開發公司? 無論你打算創造什麼, 我們很樂意分享一些建議。 我們在使用 Go 開發應用程序方面的經驗肯定會有所幫助。 歡迎隨時聯繫了解更多詳情! 我們希望這篇使用 Golang 製作的應用程序綜述能給您帶來啟發。