2020 中国 Go 开发者调查报告

2020 中国 Go 开发者调查报告_第1张图片

2020 年初,看过Go官方在过去一年里面的总结,GopherChina 也通过网络的方式对中国的 Go 开发者进行了一次深度调查。本次调查旨在关注 Go 在中国的最新趋势并总结 Go 开发的发展情况。

 

来自全国数十个城市的 1300 多名开发人员参与了此次调查,帮助我们勾勒出一个尽可能准确的中国 Go 社区的全景图。调查内容涵盖 Go 在中国的使用、开发类型、框架、库、技术、开发工具、就业等方面。

01

Go使用情况

Go 作为主要语言 vs 第二语言

在我们的调查中,61.5%的 Go 用户使用 Go 作为主要语言,而 38.5%的用户把 Go 作为第二语言。

2020 中国 Go 开发者调查报告_第2张图片

在 Go官方 2018 年的 Go 开发者调查报告中,使用 Go 作为主要语言的比例达到 72%,比 2019 年国内高出近11%。

除 Go 外的语言使用情况(多选)

2020 中国 Go 开发者调查报告_第3张图片

中国的 Go 用户中,有近 40% 的用户还使用 Python、JavaScript 和 SQL。这和 Go 官方在 2018 年统计的前三名非 Go 语言(Python、JavaScript、C/C++)基本上差不多。

而使用 C/C++、Java、PHP、HTML 的开发者比例紧随其后,均有 30% 左右的比例。

可见中国的 Go 开发者也是其他热门语言的使用者。

C# 和 Rust的开发者也有一定的比例,但是目前在Go开发者体系目前还不算流行。

02

Go 开发用途

人们平常会在什么场景下使用 Go,会用 Go 进行什么类型的开发,以及如何进行结合? 

2020 中国 Go 开发者调查报告_第4张图片

87% 的用户在工作中都会使用 Go,4.3%的学生会使用 Go,应该是云计算这一波让大学生了解Go。其他的比例在10%左右的人应该是个人项目等使用了。 

使用 Go 的目的是什么?做什么?(多选)

2020 中国 Go 开发者调查报告_第5张图片

在中国使用 Go 做 Web 开发的人最多,有超过76%的人选择 Go 开发 Web。其次是网络编程、云原生开发等 Go 的优势领域,Go 。

此外,在 DevOps/运维开发 领域,Go 也发挥着重要的作用,有20% 左右的 Go 开发者从事相关领域的开发。

在 Go 官方 2018 年的 Go 开发者调查报告中,排名第一的 Go 使用领域是Web开发,达到 65%;第二是 DevOps,达到 41%;第三是 系统编程,达到 19%。

相较于全世界的 Go 开发者来说,中国开发者对比上面也差不多,但是在网络编程和云原生的更多一点。

03

Go 版本和环境

Go 1.13  vs  others

2020 中国 Go 开发者调查报告_第6张图片

因为在我们这一次调研的时候Go1.14版本还处于beta阶段,所以很多人还是在使用1.13版本,从调研发现 Go 开发者大部分人(60%)还是选择最新版本作为开发和部署的版本。从调研发现0.5%的同学居然还在用老版本,估计是老系统不愿意升级了。

使用的版本管理工具是什么

2020 中国 Go 开发者调查报告_第7张图片

一直以来,Go的版本管理一直是Go开发者所诟病的点,但是直到最近推出Go Modules大家才逐步的转过来。不出所料,管理 Go 版本管理的 Go Modules 是最常用的版本管理工具。

04

框架、库和技术

Web 框架

2020 中国 Go 开发者调查报告_第8张图片

Gin 和 Beego 毫无疑问成为中国 Go 开发者中最受欢迎的 Web 框架。老牌的 revel 框架基本上退出了历史舞台,而 Echo 等新兴框架则在一众框架中拔得头筹。尽管之前社区开发了异步版本的 fasthttp,但使用诸如 iris 等框架的比例仍然较低。

在 Go 官方 2018 年的 Go 开发者调查报告中,世界 Go 开发者使用 Gin 和 Beego 的比例分别为 30% 和 10%,中国开发者使用它们的比例则达到 65% 和 28%,可见国内开发者的热忱。

常用的通用工具和库(多选)

2020 中国 Go 开发者调查报告_第9张图片

不出所料,gRPC 荣登通用工具和库中的宝座,无疑是 Go 世界中最受欢迎的库之一。在排名前五的库中,网络库占到3个,足见开发者对网络库的依赖。此外,数据库ORM库 GORM 也十分受欢迎,占到 41.5%。

05

开发工具

常用开发工具

2020 中国 Go 开发者调查报告_第10张图片

工欲善其事必先利其器,在开发工具这一块,国内开发者基本上选择付费的Goland和免费的VS Code作为他们的主要开发工具,分别占到了71和49%的比例。Vim一直以来都是很多Linux开发者的最爱,从统计来看vim也占到了12.8%的比例。

在 Go 官方 2018 年的 Go 开发者调查报告中,世界 Go 开发者使用 VS Code 和Goland 的比例分别为 35% 和 22%,中国开发者使用它们的比例则达到 49% 和 71%,看来Goland在国内普及度很高啊,国外Vim用户占到了25%的比例,可见国外开发者用vim的比较多。

操作系统(多选)

2020 中国 Go 开发者调查报告_第11张图片

有超过三分之二的受访者使用 MacOS 作为开发环境的操作系统,说明苹果电脑颇受开发者欢迎,将近40%的用户使用 Linux进行开发,使用 Windows 的比例也很高,达到 37.3%。

托管 Go 程序的平台(多选)

2020 中国 Go 开发者调查报告_第12张图片

超过一半的受访者将 Go 程序托管在私有服务器中。在使用云平台的用户中,他们最偏爱阿里云,使用比例达到 53.8%,而腾讯云和AWS 依次是上一个云平台的一半份额。UCloud、谷歌云、Azure 和华为云的使用比例近似,在 2-5% 左右。

数据库(多选)

2020 中国 Go 开发者调查报告_第13张图片

MySQL 在数据库使用中占据绝对优势的地位。大多数人使用免费或开源数据库,关系型数据库 MySQL、PostgreSQL、SQLite 使用比例较多,非关系型数据库 Redis、MongoDB也很受欢迎。

国外用户中PostgreSQL使用比例比较高,可见 MySQL 在中国的受欢迎度。

Jenkins、Gitlab CI 和 自研 占据了持续集成系统中的前三名,其中 Jenkins 是最受欢迎的,比例高达 40.1%。从前三名也可以看出来有 16.2% 的受访用户很喜欢造轮子,打造自己的持续集成系统。

持续集成系统(多选)

2020 中国 Go 开发者调查报告_第14张图片

Jenkins、Gitlab CI 和 自研 占据了持续集成系统中的前三名,其中 Jenkins 是最受欢迎的,比例高达 40.1%。从前三名也可以看出来有 16.2% 的受访用户很喜欢造轮子,打造自己的持续集成系统。

配置管理和运维(多选)

2020 中国 Go 开发者调查报告_第15张图片

有超过一半的用户使用 SSH/脚本 的方式进行配置管理。而在开源的配置管理运维工具中,Ansible 则是最受欢迎的。有 26.1% 的用户使用自研系统,比持续集成系统的自研比例更高,由此可见配置管理和运维方面的定制化需求更多。

06

就业和工作

雇佣状态

2020 中国 Go 开发者调查报告_第16张图片

大多数(87%)的 Go 用户有全职工作,4.3% 为学生,而只有 3.1% 为自由职业者,创业的比例占到了2.1%。

工作岗位

2020 中国 Go 开发者调查报告_第17张图片

2020 中国 Go 开发者调查报告_第18张图片

近三分之二(68.6%)的受访者为开发者,十分之一左右是架构师。团队领导的比例合计占到十分之一以上,这个比例对于后期 Go 能够快速推广至关重要,很多团队用 Go 都是因为这些团队领导的大力支持和推进。

团队合作 vs 独立工作

2020 中国 Go 开发者调查报告_第19张图片

超过三分之二的受访用户进行团队协作,近三分之一的受访用户则独立进行项目开发。

团队规模

2020 中国 Go 开发者调查报告_第20张图片

约一半的开发者在规模很小的团队中工作,其中 37.5% 的团队规模为 2-7 人。

2020 中国 Go 开发者调查报告_第21张图片

企业规模

2020 中国 Go 开发者调查报告_第22张图片

使用 Go 的团队有将近三分之一的人都在大企业使用 Go,可见中国大企业都在用Go进行开发,这对带动Go在中国的发展至关重要。

使用 Go 的时间

2020 中国 Go 开发者调查报告_第23张图片

Go 萌新(少于2年)的比例最高,超过50%;其次是 3-5 年经验的用户,占到了 34.7%。而 Go 老兵的比例较低,约为 5.6%。

平均年龄

2020 中国 Go 开发者调查报告_第24张图片

有 50% 左右的受访者的年纪低于 30 岁,有 0.1% 为青少年。四十岁以上的用户比例较低,但仍是活到老学到老。北京成为 Go 开发者最多的城市,占到四分之一,其次是上海、深圳(如下图所示)。

2020 中国 Go 开发者调查报告_第25张图片

平均年收入

2020 中国 Go 开发者调查报告_第26张图片

大部分受访者的年薪在 30 万以下,其中 10-30 万年薪的占据主流,差不多占到50%。有30% 的受访者年薪达到 30 万以上,说明Go开发者的年薪在开发者社区里面还是比较高的,有极少数能到 100 万甚至更高。而有11.1%的同学不便透露薪资,毕竟薪资是比较敏感的数据。

每种语言都有其适用的场景,不论是哪种语言,觉得喜欢和合适,那么就用吧~

你可能感兴趣的:(2020 中国 Go 开发者调查报告)