TL; DR。 在大多数类别中,明晰的领导者现在脱颖而出-几年前还没有。 这有助于知识的积累。 因此,平均拥有工具的技能在各个级别的开发人员中都变得更加深入。今年,有3005名开发人员回答了27个问题,涉及范围广泛的前端开发工具和方法。 与往常一样,非常感谢所有花时间填写调查表的人。 就我而言,我对发布结果的延迟表示歉意:今年由于婴儿的出生,工作并不容易。
与往常一样,查看过去12个月中前端工具的变化以及行业开发人员的观点正在发生变化是非常有趣的。 与
以前的调查相比,这些结果(我希望)将有助于您了解当前的趋势和工具的开发水平,以及随着时间的变化。
结果
所以到了重点! 采取您选择的茶/咖啡/饮料,看看结果...
提前免责声明
结果显示了该行业中的一些前端开发人员。 这不是福音,而是样本趋势的模糊暗示。
答案
如前所述,今年已收到3,005份答复。 这比过去(5461)要少。
今年,组织这次活动变得有些困难,这可能是由于对在线Web开发人员的调查数量增加以及出于个人原因。 考虑到所有因素,超过3,000个响应是非常出色的结果。
该调查的链接已发布在Twitter,Reddit,HackerNews,DesignerNews,Echo.js,LinkedIn和Frontendfront以及一些邮件列表中,包括
FrontEnd Focus和
CSS Weekly 。
表格尽可能指出相对于2018年的百分比变化。
问题清单
- 一般前端经验
- CSS知识水平
- 使用CSS处理器
- CSS处理器体验
- 使用CSS框架
- CSS命名方案
- CSS Linting
- CSS工具经验
- CSS方法和命名方案的经验
- 使用CSS工具
- 使用CSS-in-JS
- 使用CSS功能
- JavaScript知识水平
- 任务执行者
- JavaScript库和框架的知识
- 最常用的JS框架/库
- 最重要的JS框架/库
- 使用JavaScript模块捆绑器
- 有模块打包器和任务运行者的经验
- JavaScript编译器
- JavaScript扩展语言
- JavaScript整理
- JavaScript测试
- 性能测试
- 屏障访问测试工具
- JavaScript包管理器
- 杂项工具
问题1.一般前端经验
首先,我们从受访者那里了解前端工作的经验。
问题是:
您使用前端技术大约已有多长时间了?结果如下:

59.1%的受访者从事技术工作超过五年。 这比去年的结果(54.18%)略高,因此开发人员变得更有经验。 但是,这可以通过受众群体的部分重叠来解释:许多受访者参加了去年的调查,现在(自然)他们有了更多的经验。
只有12.31%的受访者表示,他们有不到两年的工作经验。
和以前的民意测验一样,大多数人对前端技术都有相当高的经验。 在考虑其余调查结果时应考虑这一点。
问题2. CSS知识水平
第二个问题是关于受访者如何评价他们的CSS知识。
答案如下:

90.75%的受访者表示,他们的CSS知识是平均水平或更高,大多数(63.63%)的人将自己评为高级或专家。
我每年都提醒您,这些答案非常主观。 人们对专业知识的看法可能相差很大。
但是,这提供了一个有用的机会,可以按知识水平过滤其他答案,例如,经验丰富的开发人员和初学者的工具有何不同。 在适当的地方,我将进行此过滤。
问题3.使用CSS处理器
有关CSS工具的第一个问题与CSS处理工具有关。
在过去的几年中,建议选择您喜欢的预处理工具(预处理器)。 今年,问题略有改变,可以选择几个答案。 问题是:
您经常使用哪些CSS处理器?在2016年的首次调查中,Sass占主导地位,这段时间发生了什么变化?
注意事项 与去年的数字进行了比较,但重要的是要考虑到受访者现在可以选择多个答案而不是一个。 因此,使用所有工具的结果应略有增加。
与往年一样,Sass仍然是占主导地位的CSS处理工具,被77.27%的受访者使用。
有趣的是,PostCSS以28.72%位居第二。 选择多个答案选项的能力显然有助于建立更准确的PostCSS听众,这通常与Sass一起使用。
问题4. CSS处理器的经验
在下一个问题中,要求受访者指出他们在CSS处理工具方面的经验水平。
结果如下:

这些结果与上一个问题的结果一致,超过四分之三的受访者(77.5%)表示他们对Sass充满信心,只有7.15%的人从未使用过。
与往年相比,PostCSS知识的水平有所提高:现在,有20.53%的受访者有信心使用它。
与往年相比,Less和Stylus的知识水平有所降低。
查看最后两个问题的结果,我们可以得出结论,Sass仍然是占主导地位的CSS处理工具。
问题5.使用CSS框架
要求受访者指出他们在项目中最常使用以下哪个CSS框架(如果有)。
去年,领导者是Bootstrap。 12个月中发生了什么变化?
让我们看一下结果:

与前几年的结果不同,现在最受欢迎的答案(略多于三分之一的受众(35.07%))来自不使用任何框架的开发人员。
但是,Bootstrap仍然是最受欢迎的CSS框架,被27.95%的受访者使用。 这比一年前减少了7.01%。
第二名是Tailwind CSS。
与前几年一样,框架的使用与CSS知识水平密切相关。 例如,新手和新手开发人员使用Bootstrap的比例为43.17%,而不是高级或专家开发人员的比例为23.69%。
使用自定义CSS框架时,知识水平之间也存在明显的差异(可能是预期的)。 总体而言,有16.54%的受访者表示他们使用某种自定义框架。 在初学者中,这一比例下降到8.63%,而在具有高级或专业知识的开发人员中,这一比例上升到20.35%。
但是总的来说,与前几年相比,现成的CSS框架的使用似乎有所减少。
问题6. CSS命名方案
调查的下一点:
编写CSS时是否使用CSS命名方案,例如BEM或SUIT?答案如下:

自2016年以来,大多数开发人员首次使用CSS命名方案:现在,他们的使用率为52.08%,比去年提高了3.15个百分点。
从未听说过CSS命名方案的开发人员数量下降到9.55%,比去年同期减少2.39个百分点。
从这些结果可以明显看出,该领域中工具的使用水平持续增长。 现在,很少使用不使用CSS命名方案的开发人员。
问题7:在CSS中添加
自2016年首次提出这个问题以来,CSS短绒棉的使用一直稳定增长。
去年,大多数开发人员(50.56%)仍然避免掉毛,因此看一下动态将会很有趣。
问题:
您是否使用CSS整理工具?结果如下:

与CSS命名方案一样,大多数受访者(53.21%)首次开始使用CSS链接,外加3.77个百分点。 到去年。
从结果中还可以清楚地看到,更高级的开发人员更倾向于使用CSS。 只有28.42%的初学者使用短绒,而具有高级CSS或更高版本的开发者为60.15%。
随着诸如Stylelint之类的出色工具(例如我们将在下一个问题中讨论)的知名度,使用短绒变得越来越受欢迎。
问题8. CSS工具的经验
以下四个问题涵盖了知识水平以及各种CSS方法和支持工具的使用。
在第八个问题中,要求受访者说明他们在Autoprefixer,Modernizr和Stylelint方面的经验。
结果如下:

在这三种工具中,Autoprefixer是最著名的:50.52%的开发人员说他们有信心拥有它。
在过去的一年中,Stylelint的知识水平增长最快:现在有23.03%的开发人员,+ 5.16个百分点可以自信地使用它
Modernizr的知识水平略有下降,而从未听说过的受访者数量有所增加,而对它有所了解的人的数量有所下降(−3.49个百分点,降至24.03%)。
问题9. CSS方法和命名方案的经验
根据相同的方案,要求受访者说明他们在以下CSS方法论方面的经验。
结果:

与去年相比,大多数方法的知识水平略有提高。
大多数受访者仍然对BEM方法感到最有信心:43.53%,即+ 5.37个百分点
CSS-in-JS方法的最大进步。 现在,与她合作的开发商比去年多了三分之一:27.52%,增加了7.6个百分点。
对SMACSS,OOCSS,Atomic Design和ITCSS的熟悉程度也得到了提高,其中Atomic Design和ITCSS最为成功。
如果我们采用所有CSS架构方法,即SMACSS,OOCSS,Atomic Design,ITCSS和CSS-in-JS,那么42.26%的受访者将在2019年自信地与至少其中一种合作。 这增加了7.36个百分点。 从去年的34.90%的水平。 如果考虑到至少使用这些方法之一的受访者,则该数字上升至70.75%,而去年为66.49%。
这些结果表明,对CSS方法论和命名方案的了解正在增长,其中最著名的是BEM,CSS-in-JS和Atomic Design。
问题10.使用CSS工具
继续进行关于CSS方法论的调查,问题10如下:
您当前在项目中使用哪些CSS方法论或工具?让我们看一下结果。
注意事项 答案中排除了CSS-in-JS,因为以下问题已完全解决。
在列出的工具和方法中,开发人员最经常使用Autoprefixer(56.84%),BEM(45.52%)和Stylelint(27.49%)。 与2018年相比,所有这些数字均略有增长,Stylelint的增幅最大(+4.71个百分点)。
全年使用Modernizr下降了8.24个百分点 至21.10%,延续了往年的下降趋势。
尽管CSS方法论的知识水平略有增长,但与2018年相比,它们的使用水平实际上没有变化。 原子设计仍然是最流行的CSS设计方法,被15.41%的开发人员使用。
总的来说,这些数字表明,在过去的一年中,这一领域发生了一定的合并。
问题11.使用CSS-in-JS
下一个问题是第一次提出来,专门针对最近变得非常有趣的领域:CSS-in-JS。
使用CSS-in-JS的开发人员的数量已经增长到一定程度,以至于有趣的是,哪些特定的工具在这里最受欢迎。
因此提出了一个问题:
您首选的CSS-in-JS工具是什么?
44.69%的受访者表示,他们使用CSS-in-JS工具,最受欢迎的选择是样式化组件(27.02%)。 紧随其后的是CSS模块(9.72%)和Emotion(3.96%)。
大多数开发人员(55.31%)不使用CSS-in-JS工具。 这是一个相对较新的领域,鉴于其专门用于某些用例,因此不足为奇。
如您所料,在具有高级和专业JS知识的开发人员中,使用CSS-in-JS的比例已上升到51.38%。 这是合乎逻辑的,因为CSS-in-JS通常与JavaScript平台结合使用。
总体而言,很明显CSS-in-JS成为许多开发人员的重要组成部分。 看看这些数字将来如何变化将是很有趣的。
问题12.使用CSS函数
CSS的最后一个问题是找出对CSS新特性和功能的了解程度。
既然有太多关于它们的文章和讨论,找出多少开发人员已经开始在实践中使用这些功能并获得使用经验,总是很有趣的。
问题:
请说明您使用以下CSS功能的经验。结果:

Flexbox(上升12.81 pp至80.40%),CSS网格(+ 10.11 pp至28.59%)和CSS自定义属性(+8.86 pp至27 ,占89%)。
现在几乎所有接受调查的开发人员都使用Flexbox,并且97.07%的受访者至少遇到了一点(去年为93.53%)。 可以肯定地说,现在所有前端开发人员都希望掌握Flexbox的知识。
在关于CSS网格和CSS自定义属性的知识的调查结果中,观察到了观众从“听到了什么”级别到实际使用这些功能的级别的某种转变。 似乎知识水平正在增长,尽管更多的开发人员“使用”了这些功能比他们对使用它们的信心更强。
一项调查首先提到了CSS Houdini,它是用于本机CSS扩展的API集。 46.46%的受访者表示,他们听说过或阅读过此功能,但至少有1.79%的人至少使用了此功能。 仍然认为此功能非常创新,因此几乎没有开发人员正在使用它也就不足为奇了。
问题13. JavaScript知识水平
下半年重点介绍JavaScript及其工具生态系统。
首先,
您如何评价自己对JavaScript以及相关工具和方法学的了解?结果是:

大多数受访者认为自己至少是中等或更高(88.98%),而大多数受访者则说他们具有高级或专业知识(59.0%)。
可以说这样的结果反映了整个行业的知识水平,这是错误的-最有可能的是,这仅反映了参与此类调查的人员的知识水平。 如预期的那样,分布向频谱的高端移动更多。
问题14.任务执行者
去年,NPM脚本的性能大大优于Gulp。 他们在一年内是否设法巩固自己的地位?
问题是:
您希望在正常工作流程中使用哪个任务运行程序?
从这些结果可以看出,NPM脚本牢固地确立了自己的地位。64.33%的受访者使用了它们-降低了16.44个百分点 比去年更多。该类别中几乎所有其他工具的使用率都下降了:18.54%的开发人员使用Gulp(下降了11.02个百分点),只有2.53%的开发人员使用了Grunt(下降了3.26个百分点)。9.08%的受访者表示,他们不使用任务运行器:这与去年相比略有下降(-1.61个百分点)。因此,去年的趋势似乎仍在继续:开发人员正在稳步从Gulp和Grunt迁移到NPM脚本。问题15. JavaScript库和框架的知识
在以下三个问题中,我们询问了JavaScript库和框架的知识和使用水平。去年,React,Vue和Angular 2+展示了最大的知识增长。同时,jQuery在开发人员的知识方面处于领先地位,但其实际使用水平已大大降低。在此问题中,将评估所有工具的知识水平。要求受访者指出他们所使用的JavaScript库和框架。结果如下:
最重要的是,开发人员知道jQuery(75.37%),React(48.35%),Lodash(40.67%),Underscore(28.45%)和Vue.js(23.19%)。最重要的是,React(自2018年以来为48.35%,+7.92个百分点)和Vue.js(23.19%,+6.12个百分点)的信心十足的用户份额有所增加。自信地使用jQuery的开发人员数量已略降至75.37%(自2018年以来为−4.36个百分点)。Lodash的知识水平也略有提高,包括一些使用它的用户的份额,增加到28.75%(+3.15 pp),并且用户的信心也很高-达到40.67%(+3.70 p。)。 .p。)。今年,这是第一次,D3.js被添加为答案选项:7.29%的开发人员表示他们对使用此库感到满意。通过查看所有JavaScript MV *框架(即,除了jQuery,Underscore,Lodash和D3.js以外的所有列表)的知识水平,有78.54%的受访者自信地与至少其中之一一起工作。这个数字增加了8.04个百分点。与去年的结果相比,提高了28个百分点 自2016年以来,这表明前端开发人员至少了解其中一种工具是多么重要。问题16:最常用的JS框架/库
然后,受访者被问到:您当前最常使用哪些JavaScript库和/或框架?您可以选择任何数量的工具。答案:
自2015年以来,jQuery在所有民意测验中第一次失去了最常用的JS工具的称号,而被React取代。52.21%的开发人员表示,他们经常在项目中使用React,即每年+4.82 pp。36.81%的受访者表示jQuery的使用频率很高,下降了14.24个百分点。一年。以下是Lodash(32.81%),Vue.js(27.15%)和Angular v2 +(15.71%),其变化分别为-1.01,+ 4.21和+1.59 pp ,与2018年的结果相比。问题17.最重要的JS框架/库
关于JS框架的最后一个问题:您认为大多数项目都需要哪个JavaScript库或框架?去年,React获得了最大份额。12个月有什么变化吗?让我们看看:
React巩固了自己的地位:今年32.78%的受访者表示,他们认为它是最重要的JavaScript库或框架。该指标增长了4.31个百分点。与去年的调查相比21.66%的开发人员认为此类别中不需要任何工具。接下来最重要的工具是Vue.js,占13.44%(比上年增长3.22个百分点),jQuery,占11.5%(-8.59个百分点),Angular v2 +,占8.49%( +2.3 pp)。经验极大地影响了偏好。拥有0-2年经验的开发人员中有45.14%的人具有10年以上经验的受访者中只有24.02%承认需要React。另外,有28.06%的经验丰富的开发人员表示,他们可以在没有特定库或工具的情况下工作。如果您查看关于JS库和框架的所有三个问题的结果,那么React的知识和使用水平仍在增长,并且Vue.js在JavaScript框架中排在第二位(尽管它比React落后了很多)。尽管jQuery的使用稳步下降,但与Lodash相比,它仍被更多的开发人员使用。问题18.使用JavaScript模块包
在此类别中,Webpack保持了多年的领导地位。让我们看看他是否有竞争对手?问题:您在工作中使用JavaScript模块捆绑程序吗?结果如下:
Webpack的份额持续增长:现在有73.34%的受访者将其用作模块捆绑器,这是+7.66个百分点。到去年的结果。以下是最常用的捆绑器:包裹和汇总,响应率为2.83%和2.06%。一年中,不使用模块捆绑器的开发人员数量下降了5.91个百分点,至14.64%。因此,现在有85.36%使用此工具。与去年一样,Webpack仍然是该领域的主导工具。在可预见的将来,没有迹象表明可以替代。问题19.有模块捆绑器和任务运行器的经验。
接下来,询问有关上述模块捆绑器和任务运行器的经验的问题。结果如下所示:
根据之前的结果,大多数受访者自信地使用脚本NPM(64.39%),Webpack(52.38%)和Gulp(45.79%)。NPM和Webpack脚本显示了现在正在与他们自信地合作的开发人员数量的最大增长。在刚刚试用过Parcel的用户(占12.98%,+ 7.47个百分点)和自信的用户(7.05%,+ 4.32个百分点)中,Parcel的增长都不错,与2018年的结果相比。问题20. JavaScript编译器
在过去的几年中,Javascript的移植已经发展到如今绝大多数开发人员都在使用它的程度。尽管我没想到在一年中会使用随插式翻译机,但有趣的是,它们的受欢迎程度以及增长是否持续以及增长多少。问题:您是否使用工具将JavaScript从ES6转换为ES5?(例如Babel)结果:
编译器的使用持续增长:现在,其中一个使用了81.56%的受访者,每年增长4.8个百分点。正如人们所期望的那样,在前端开发方面经验较少的开发人员不太可能使用编译器,尽管70%的0-2年经验的受访者这样做了。问题21. JavaScript语言扩展
下一个问题是去年提出的,涉及诸如TypeScript和Flow之类的语言扩展。去年,大多数受访者对TypeScript充满信心,在12个月中发生了什么变化?问题:请说明您对以下JavaScript扩展的经验。今年的结果:
TypeScript仍然以31.91%(每年+10.03个百分点)的自信用户份额保持在第一位。
对于该类别中的其他工具,没有任何实际变化,增长或下降都没有。
显然,这些结果表明TypeScript在其利基市场中占据着稳定的位置。 它的使用每年都在稳定增长,有趣的是,这种增长是否会在未来继续下去。
问题22:在JavaScript中添加
JavaScript整理工具实际上是标准开发工具包的一部分,去年,ESLint是大多数开发人员使用的最受欢迎的工具。
问题:
您使用哪种工具进行JavaScript整理(如果有)?
结果显示出非常明显的趋势:ESLint的份额仍在增长,而其他掉毛工具却在下降。 今年,ESLint的受众人数增加到76.07%(与去年相比增加了15.39个百分点)。
TSLint团队在2月份决定放弃TSLint并专注于
改善对ESLint的TypeScript支持,可以部分解释ESLint日益普及的部分原因。
今年未使用棉绒的开发商所占比例下降至11.98%。 这意味着88.02%的开发人员现在正在使用这些工具:提高了3.42个百分点。 从去年的84.6%的数字。
因此,没有特别的惊喜。 显然,ESLint被认为是该类别中的标准选择。
问题23.用JavaScript测试
下一个问题是有关使用JavaScript测试工具的问题。
今年,问题的形式略有变化,因为受访者的回答表明,许多开发人员使用了几种工具,而不是一种。 因此,受访者现在可以选择几个答案。
作为参考,显示了与去年结果的差异,但是由于格式的变化,所有工具的使用份额可能会略有增加。
问题:
您使用以下哪些工具来测试JavaScript(如果有)?结果如下:

与2018年一样,Jest仍然是大多数受访者使用的工具,即44.86%。 紧随其后的是摩卡(26.12%),茉莉(19.47%)和酶(18.64%)。
至少使用某些JavaScript测试工具的开发人员比例增加到64.36%(每年+7.98个百分点)。
我认为,今年的结果表明,有关JavaScript测试的工具非常多。 尽管Jest是其中最流行的,但还有许多其他值得探索的流行选择。
问题24.性能测试
这是探索开发人员如何评估和优化其项目性能的新问题。
现在有如此多的工具和本机功能,令我非常感兴趣的是其中哪个工具在社区中最受欢迎。
问题:
您使用这些工具,库或语言函数中的哪一个来提高性能(如果有) 。 受访者可以选择以下一个或多个选项。
让我们看一下结果:

灯塔是最受欢迎的选择:52.11%的受访者使用它来测试性能。
令人惊讶的是,第二受欢迎的选项是“这些工具中没有一个”,由31.68%的开发人员选择。
在其他选项中,有24.29%的开发人员使用WebPageTest,而23.13%的开发人员使用Service Worker。
有趣的是,只有5.79%的人在其项目中实施了AMP(加速移动页面)。 考虑到Google近几年来一直在推动AMP的发展,这项技术仍然相当小众。
问题25.测试无障碍通道的手段
今年的另一个新问题是可访问性测试工具。
问题:
您使用以下哪种无障碍访问测试工具来测试站点/应用程序? 受访者可以选择一个或多个选项。
结果:

出乎意料的是,63.13%的受访者没有使用任何工具。
22.20%的受访者表示,他们使用该工具检查色彩对比度,只有15.44%-屏幕阅读器。
我必须说,这些数字给人留下了极为令人沮丧的印象。
该调查没有显示人们不检查对其站点/应用程序的无障碍访问的
原因 。 但是看到三分之二的人不关心这个问题确实令人难过,因为每个人都应该访问我们创建的网站。
Wave和Ax之类的工具(在“其他”部分的很多受访者提到)非常易于使用,我强烈建议您对尚未使用的工具进行评估。
让我们希望,随着时间的流逝,开发人员将欣赏这些工具的价值和简单性,并且它们的使用将会增长。
问题26. JavaScript包管理器
倒数第二个问题与JS包管理器有关,听起来像这样:
您主要在工作流程中使用哪个JavaScript包管理器?去年,NPM是最受欢迎的软件包管理器。 但是在过去的12个月中,纱线的份额会增加吗?
开发人员的回答如下:

从结果来看,NPM的份额增长很小:现在有65.39%的受访者使用了NPM。
纱线也保持在大致相同的水平,小幅下降至29.78%。
似乎大多数开发人员都对NPM作为程序包管理器感到满意,而与去年相比,该类别没有真正的变化。
问题27.杂项工具
在最后一个问题中,考虑了各种前端开发工具的知识水平(有些不太适合以前的任何类别)。
要求受访者:
请说明您使用以下工具的经验 。

在这些工具中,最自信的是拥有NPM(87.02%),Yarn(50.62%)和Babel(49.62%),在过去一年中,所有这些工具的受众知识水平都有所提高。
在一年中的大部分时间里,对Prettier充满信心的用户数量有所增加:他们的份额立即增加了一半半,达到40.43%。
约曼的知识水平略有下降:去年也观察到了同样的趋势。
总结
因此,我们总结了前端工具世界又一个有趣的一年!
在某些领域,开发人员显然是围绕一种工具团结起来的。 例如,ESLint用于插入JavaScript,NPM脚本用于执行任务,Webpack用于链接模块。
在JS框架和库中,React保持了其对开发人员最重要的框架的地位,被调查者称Vue.js为第二重要的JS框架/库。 仍然有很大一部分开发人员(21.66%)仍然不需要强制使用任何框架或库,因为本机JS每年都变得越来越强大。
今年结果中最令人震惊的数字与测试无障碍访问有关,多达63.13%的受访者承认他们没有使用任何工具来测试其项目。 我们的行业应该纠正这种情况-不仅因为从道德角度来看这是正确的,而且随着
法律诉讼的日益增多 ,从法律角度来看
也是如此 。
在CSS处理器中,Sass仍然是最受欢迎的,而Bootstrap的受欢迎程度略有下降。 现在,大多数开发人员都希望在他们的项目中不使用任何CSS框架。
今年使用CSS linting和命名方案的开发人员的数量已超过未使用CSS linting和命名方案的开发人员:衬砌的占53.21%,命名方案的占52.08%。
CSS-in-JS继续以稳定的速度增长,现在有44.69%的开发人员使用这种工具。
显然,正在进行的合并应该令人鼓舞。 看来我们的工具已经越来越成熟。 随着功能更强大的工具的可用,对它们进行更改的需求减少了。 似乎在结果中我们看到了这一点的证据。
在大多数类别中,明晰的领导者现在脱颖而出-几年前还没有。 这有助于积累知识。 各个级别的开发人员都发现,在选择新工具时更容易了解要学习的内容。 这对所有人都有好处。