之前,就有网友针对“Node.js用在前端还是后端?”的问题进行讨论。近日,Node.js基金会发布了Node.js 2017用户调查,我们用数据说话,看看Node.js到底适用于哪些应用和开发环境?同时也看看全世界的程序员都是怎样用Node.js。
本次调查于2016年11月30日在线上展开,主要的采访者是母语为英语和汉语、使用Node.js的程序员,并且收到了1405份有效调查,文章中的比例分配采取了四舍五入,所以有可能出现不是100%的情况。
随着数字化的发展,Node.js已经发展成为了一个通用框架,线上有超过800万的Node.js实例,有四分之一的受访者表示在未来一年内有计划学习Node.js,而且中国已经成为除美国之外的学习Node.js人数最多的国家。
据调查, 使用和部署Node.js已经成为用户开发的主要方式,且出现了很多与Node.js配套使用的工具和技术,Node.js已经成为程序员工具包中的重要组成部分,几乎程序员的一半开发时间都在使用。不过,Node.js程序员的开发时间却并不长,很多人不足两年。
我们先来看一下Node.js用户“全家福”:
企业和程序员是如何使用Node.js?
从上面两张图中,我们可以看到Node.js被使用到后端情况更多,不过,这个数据只是说明一个大多数的情况,并不能确定到底是用于前端还是后端更好,因为这个有企业的实际需求在内的。
Node.js是一个极具亲和力的产品
Node.js可以和众多技术工具一起使用,例如数据库、前端框架、Node.js框架等等。
对于不同领域的程序员来说,Node.js也有多种用途相对应:
Node.js跨领域的开发类型:
哪些场景会使用Node.js?
首先,我们来看一看大家都会在哪里部署Node.js,在这里我们分成实际生产环境和开发环境两个部分来看。
从中我们可以看出无论是实际生产环境还是开发环境,AWS都是云服务的首选,而且令人惊喜的是阿里云也在其中,且与其他云服务差距不大。
在调查中60%的程序员使用LTS版本,37%的程序员使用Current,3%的程序员选择了其它。其中企业客户有66%使用LTS,基于后端的程序员中33%使用Current。
如果要看操作系统,那么开发环境中46%的是在使用MacOS,实际生产中42%是使用Ubuntu,而无论是在哪个环境中,Windows的位置都有点尴尬。
我们能从Node.js中获得什么?
从整体的情况来说,Node.js帮助68%的程序员提高生产力,帮助65%的程序员增强安全性,58%的程序员节省开发成本,50%的程序员提升应用性能。当然,Node.js经验不同的程序员调查情况也会有所不同:
Node.js与编程语言
编程语言是程序员永远聊不完的话题,所以我们也来聊聊参加调查的程序员们都在使用哪些编程语言。该调查不仅调查了程序员在过去一年使用哪些编程语言,而且调查了他们在未来一年打算改学的编程语言。
Stack Overflow对64000多名程序员进行了调查,并于2017年1月发布了报告,报告中JavaScript占据首位,获得了63%的支持,成为了唯一一个获得过半支持数的编程语言。