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 的一部分。