谷歌开源了 Go Cloud 项目,旨在让 Go 语言(Golang)成为开发云应用程序的首选语言。该项目提供了一个库和用于构建可在多个云平台之间移植的应用程序的工具。 Go Cloud 还处于早期测试版阶段,还不适合用在生产环境中。
Go 语言在云端开发方面具有一定优势,比如低延迟和内置并发。与此同时,Go Cloud 还提供了一组 API 来编写更简单、更可移植的应用程序。
这组通用的 API 包括:
-
非结构化的二进制(blob)存储。
-
可在运行时修改的变量。
-
与 MySQL 数据库的连接。
-
服务器启动和诊断,包括请求记录,跟踪和运行状况检查。
Go Cloud 是基于这些 API 构建可移植云计算机生态系统的基础。目前,Go Cloud 的 GitHub 仓库提供了 Google Cloud Platform 和 Amazon Web Services 的实现。后续将很快支持更多的云供应商。
这个项目的关键是 Wire,它是一个代码生成器,可以创建人类可读的代码,并为开发人员导入云供应商的 SDK。Go Cloud 因此可以在不增加编译时间或二进制文件大小的情况下为云供应商提供支持,同时避免来自 init() 函数的影响。
Wire 使用依赖注入自动连接组件。组件依赖关系表示为函数参数,并鼓励开发人员进行显式初始化,而不是使用全局变量。Wire 可以在没有运行时状态或反射的情况下执行,从而可以使用手写的初始化代码。
虽然 Go 语言在开发人员中非常受欢迎,但谷歌认为,这门语言缺少用于与云服务连接的标准库。开发人员通常需要开发自己的库才能使用云端的功能,而企业又希望能够轻松地在云平台之间转移他们的工作负载。
谷歌认为,Go Cloud 可以让开发团队构建可在任意受支持云平台上运行的应用程序,而无需重新构建应用程序的大部分内容。
谷歌开发者关系副总裁 Adam Seligman 说,谷歌希望这一举措能够带动 Go 语言生态库的爆发式增长。当然,这也将加速 Go 语言成为一门云端开发语言。
查看英文原文:
评论