Go Wiki: LearnServerProgramming

此頁面連結到學習 Go 中伺服器程式設計的資源 - 包括 Web 服務和移動後端。專案按主題分為幾個部分。

入門

中介軟體

你會經常看到討論的話題是“中介軟體”。如果你不熟悉這個術語,我們建議你先閱讀以下幾篇文章。

工具包和框架

在你決定採用第三方 Web 框架或工具包之前,請記住 Go 標準庫提供了構建複雜、現代 Web 應用程式所需的所有工具。遵循 Go 偏愛簡潔和可組合性的原則,而不是複雜性和魔術,我們建議你看看標準庫能帶你走多遠

如果你認為你需要更多的基礎設施,請先看看一些可用的工具包和庫。

工具包、庫和微框架

框架

  • BeeGo Framework
  • Frodo - 受 Laravel(php)、Slim(php) 和 ExpressJS(node.js) 啟發的 Go 小型 Web 框架
  • GinGonic
  • Macaron - Go 中高效、模組化的 Web 框架。
  • Revel Web Framework
  • Ringo - 受 Rails、Gin 啟發的輕量級 MVC Web 框架。
  • Utron - Web 應用程式的輕量級 MVC 框架。
  • Iris - Web 應用程式的快速 MVC 框架。

通訊

  • net/http 包 提供 HTTP 客戶端和伺服器實現。
  • encoding/json 包 實現 RFC 4627 中定義的 JSON 物件的編碼和解碼。
  • net/rpc 包 提供透過網路或其他 I/O 連線訪問物件匯出方法的介面。
  • os/exec 包 執行外部命令。

展示

  • text/template 包 實現用於生成文字輸出的資料驅動模板。
  • html/template 包 實現用於生成可防止程式碼注入的 HTML 輸出的資料驅動模板。

效能分析和效能

追蹤、監控、日誌記錄和配置

  • expvar 包 提供對公共變數的標準介面,例如伺服器中的操作計數器。
  • flag 包 實現命令列標誌解析。
  • log 包 實現了一個簡單的日誌記錄包。
  • glog 包 實現類似於 Google 內部 C++ INFO/ERROR/V 設定的日誌記錄。

儲存

  • os 包 提供獨立於平臺的作業系統功能介面。
  • path/filepath 包 實現用於處理檔名路徑的實用例程,其方式與目標作業系統定義的 istorage 路徑相容。
  • database/sql 包 為 SQL(或類 SQL)資料庫提供了一個通用介面。

平臺

Google Cloud Platform

Amazon Web Services

Microsoft Azure

  • Microsoft OpenTech 的 azure-sdk-for-go 提供了一個 Golang 包,可以方便地使用和管理 Microsoft Azure 服務。
  • 搜尋 Azure 的軟體包

Openstack / Rackspace

IBM BlueMix


此內容是 Go Wiki 的一部分。