Go語言誕生5週年!10大Go語言開源專案推薦

TP_funny發表於2014-12-05
2014 年 11 月,Golang 官方部落格釋出 Go 語言核心開發組成員 Andrew Gerrand 文章 《Half a decade with Go》,以紀念 Go 語言釋出 5 週年。Andrew Gerrand 在文章中稱,Go 語言在工業界向雲端計算轉型時代找到了自己位置,目前一些重量級的雲端計算專案比如有名的 Docker 等都是用 Go 語言開發的,並預言“2015 年將是 Go 語言急劇發展之年”(“ 2015 will be Go's biggest year yet.”)。


Go 語言:制霸雲端計算時代
從國內 Go 語言發展和應用來看,七牛算是國內第一家選 Go 語言做服務端的公司。在前段時間,《技術人攻略》對七牛 CEO 許式偉所做的一篇深度採訪( 採訪原文)中,許式偉對“為何早在 2011 年 Go 語法還沒完全穩定下來的情況下選擇 Go 作為儲存服務端的主體語言”給出自己的解釋。許式偉談到說:
程式設計哲學的重塑是 Go 語言獨樹一幟的根本原因,其它語言仍難以擺脫 OOP 或函數語言程式設計的烙印,只有 Go 完全放棄了這些,對程式設計正規化重新思考,對熱門的物件導向程式設計提供極度簡約但卻完備的支援。Go 是網際網路時代的C語言,不僅會制霸雲端計算,10 年內將會制霸整個 IT 領域。
前不久,Facebook 也開源了很多 Go 語言庫,可前往 GitHub 託管地址檢視。

10 大流行 Go 語言開源專案
適逢 Go 語言誕生 5 週年之際,外媒 JavaWorld 也釋出文章,整理了由 Go 語言開發的 10 大流行開源專案。Go 語言目前從虛擬化到 Git 程式碼託管服務等方面,都有重量級專案現身,越發凸現 Go 語言在雲端計算時代的重要性。

1. Docker
到現在,Docker 幾乎是 Go 再難找到也難以複製的一個成功案例。Docker 專案在 2014 年 9 月份就拿到了C輪 4000 萬美元融資,版本迭代速度超快,目前從 GitHub 看到已有 78 個版本,而它僅僅是再 2013 年初才正式開始的一個專案而已。目前,國內 Docker 技術推廣也進行的如火如荼,比如 Docker 中文社群,CSDN 也建立了 Docker 專區。CSDN CODE 也將在近期與 Docker 中文社群合作,推出 Docker 技術文章翻譯活動,屆時也請大家多多關注,及時關注與參與。
Docker 團隊之所以喜歡用 Go 語言,主要是 Go 具有強大的標準庫、全開發環境、跨平臺構建的能力。
GitHub 託管地址: https://github.com/docker/docker

2. Kubernetes
Kubernetes 是 2014 年夏天 Google 推出的 Kubernetes,基於 Docker,其目的是讓使用者通過 Kubernetes 叢集來進行雲端容器叢集的管理,而無需使用者進行復雜的設定工作。系統會自動選取合適的工作節點來執行具體的容器叢集排程處理工作。其核心概念是 Container Pod(容器倉)。
GitHub 託管地址: https://github.com/GoogleCloudPlatform/kubernetes

3. Etcd & Fleet
etcd 是由 CoreOS 開發並維護鍵值儲存系統,它使用 Go 語言編寫,並通過 Raft 一致性演算法處理日誌複製以保證強一致性。目前,Google 的容器叢集管理系統 Kubernetes、開源 PaaS 平臺 Cloud Foundry 和 CoreOS 的 Fleet 都廣泛使用了 etcd。詳情,可瞭解 《Etcd:用於服務發現的鍵值儲存系統》。Fleet 則是一個分散式的初始化系統。它們之所以選擇使用 Go 語言,則是因為 Go 語言對跨平臺的良好支援,以及其背後的強大社群。
GitHub 託管地址: https://github.com/coreos/etcd

4. Deis
Deis 是一個基於 Docker 和 CoreOS 的開源 PaaS 平臺,旨在讓部屬和管理伺服器上的應用變得輕鬆容易。它可以執行在 AWS、GCE 以及 Openstack 平臺下。詳情,可瞭解 《Deis v1.0 正式釋出!》。 
GitHub 託管地址: https://github.com/deis/deis

5. Flynn
Flynn 是一個使用 Go 語言編寫的開源 PaaS 平臺,可自動構建部署任何應用到 Docker 容器叢集上執行。Flynn 專案受到 Y Combinator 的支援,目前仍在開發中,被稱為是下一代的開源 PaaS 平臺。
GitHub 託管地址: https://github.com/flynn/Flynn

6. Lime
相對上面的幾款 Go 語言在雲端和伺服器端之外,Lime 則顯得比較特殊。Lime,則是一款用 Go 語言寫的桌面編輯器程式,被看做是著名編輯器 Sublime Text 的開源實現。 
GitHub 託管地址: https://github.com/limetext/lime

7. Revel
Revel 是一個高生產力的 Go 語言 Web 框架。Revel 框架支援熱編譯,當編輯、儲存和重新整理原始碼時,Revel 會自動編譯程式碼和模板;全棧特性,支援路由、引數解析、快取、測試、國際化等功能。 
GitHub 託管地址: https://github.com/revel/revel

8. InfluxDB
一個 Go 語音編寫的開源分散式的時序、事件和指標資料庫,無需外部依賴。其設計目標是實現分散式和水平伸縮擴充套件。 
GitHub 託管地址: https://github.com/influxdb/influxdb

9. Syncthing
一款用 Go 語言編寫的開源雲端儲存和同步服務工具,使用者的資料將由自己完全控制,所有的通訊全都加密,每個訪問節點都用加密證照驗證。該專案被認為是 Dropbox 和 BitTorrent Sync 的開源替代, 詳情。Syncthing 之所以選擇 Go 語言,也是出於跨平臺考慮。 
GitHub 託管地址: https://github.com/syncthing/syncthing

10. Gogs
Gogs 則是一款由國人無聞( GitHub)開發的自助 Git 服務專案。Gogs 的目標是打造一個最簡單、最快速和最輕鬆的方式搭建自助 Git 服務。據作者稱,之所以選擇使用 Go 語言開發,就是 Go 允許 Gogs 可以通過獨立的二進位制分發,且對跨平臺有良好支援。 
GitHub 託管地址: https://github.com/gogits/gogs

除了上面的 10 款流行 Go 語言專案外,我們這裡另外外大家推薦幾款 Go 語言相關的專案,如國人開發的 Go Web 應用框架 Beego、開源的 Go 語言開發環境 LiteIDE 等,它們也都很流行,希望大家多多關注並支援國人開源專案。
來自:部落格園
相關閱讀
評論(1)

相關文章