Go语言诞生5周年!10大Go语言开源项目推荐

jopen 9年前

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语言诞生5周年!10大Go语言开源项目推荐

        Go 语言:制霸云计算时代

        

        从国内 Go 语言发展和应用来看,七牛算是国内第一家选 Go 语言做服务端的公司。在前段时间,《技术人攻略》对七牛 CEO 许式伟所做的一篇深度采访( 采访原文)中,许式伟对“为何早在 2011 年 Go 语法还没完全稳定下来的情况下选择 Go 作为存储服务端的主体语言”给出自己的解释。许式伟谈到说:

编程哲学的重塑是 Go 语言独树一帜的根本原因,其它语言仍难以摆脱 OOP 或函数式编程的烙印,只有 Go 完全放弃了这些,对编程范式重新思考,对热门的面向对象编程提供极度简约但却完备的支持。Go 是互联网时代的C语言,不仅会制霸云计算,10 年内将会制霸整个 IT 领域。 

        前不久,非死book 也开源了很多 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 等,它们也都很流行,希望大家多多关注并支持国人开源项目。

来自: CSDN