2020年JavaScript状态调查报告摘要 150172

股票行情  2021-03-26 10:35:38

原标题:2020年JavaScript现状调查报告摘要

作者:libinfs

来源:分段故障不考虑社区

一年一度的《发现js 2020状态》结果日前出炉。每次看这个报告,我都能很快了解到这一年Java世界发生了什么,同时也给了我一个查漏补缺的机会,让我很赚钱。

今年,我打算与大家分享报告中“语法”和“框架”两部分发布的信息,希望对大家有所帮助和启发。

今年的调查涵盖了来自137个国家的23,765人,其中大多数来自美国或西欧。报告地址:https://2020.stateofjs.com/en-US/.

1.特征

在这一部分,我将总结归纳ES6以来新的语法特征的用法,偶尔发表一下自己的看法。如果你对某个内容有自己的看法,也欢迎你在文章评论区底部留言。

请注意,每个语法特性后面的百分比代表已使用该特性的被调查开发人员的比例。

1.1语法特征

在语法特征上,便宜、好用、碗大的destruction(89.1%)、Spread Operator (92.8%)、Arrow Functions (97.9%)等语法特征已经被开发者彻底使用。但是像Nullish combination(45.3%)和Optional Chaining (66.7%)这种同样好用的语法特性,似乎并没有普及和广泛使用,也不希望出现难看的A & amp;a.b && ampA.b.c,刚入门拿个a?。b?c真的很聪明很酷。

不足为奇的是,语法特性Private Fields (10.9%)不仅被很多人使用,而且43.9%的受访开发者从未听说过。我做了一个特殊的检查。这个语法特性是在ES2020的草稿中提出的,目前火狐、IE、Safari都不支持。

但是,这个语法特性表明,Java最终会在语法层面拥有私有的类字段。很高兴看到基于原型链的语言Java在OOP范式上又前进了一小步。不知道Java开发者会不会觉得很开心。

1.2语言特征

异步/等待(95.2%)和承诺(96.2%)等旧的异步解决方案似乎为开发人员所熟悉并广泛使用。而decorator(47.4%)和Dynamic Import (42.8%)等语法并没有被很多人使用,而proxy(22.3%)等语法则承诺。全部落户(14.7%)不仅被很多人使用,甚至还有很多没听说过的人。

如果在写业务时很难使用像代理这样的对象代理方案,使用更少的人是情有可原的。动态导入(Dynamic Import)是一种动态加载资源的方案,它与随webpack打包的块一起使用来异步加载,这无疑是进一步优化页面性能的杀手锏。不了解的同学可以深入研究一下。

方法Promise.allSettled最后填满Promise系列的全家桶。原始的Promise.all方法只有在异步执行函数集相互依赖时才有效。如果想知道每个异步函数的求解状态,最好使用Promise.allsettled方法。

1.3数据结构

在数据结构方面,map(73.4%)和set(66.9%)等数据结构已经被开发者广泛使用,而type array(34.9%)和Array.prototype.flat (39.6%)等数据结构和新的语言规则在工作中很少使用,BigInt (13.9%)。

有句话叫Array.prototype.flat其实挺好用的。虽然我们可以通过Spread Operator快速地将两层嵌套数组“展平”成一维数组,但是当我们需要将两层以上的数组“展平”时,将参数传入到flat方法显然更方便。

1.4浏览器API

本地存储(90.6%)和Fetch (87.1%)这两个今年不再新鲜的东西,无疑是大家都在用的,对于存储和HTTP请求,真的没有更好的原生解决方案了。

WebSocket (62.6%)、Service Workers (42%)和INTL (31.3%)的使用率比较合理,受使用场景限制。

影子DOM (42.1%)和自定义元素(33.4%)无疑是今年最疯狂的浏览器API。想想如何不使用React和Vue,只通过浏览器提供的原生函数实现高效、可重用的组件化,拥有各种生命周期功能。看来难学的React明天就要过时了,Java原教旨主义者终于称霸全国了。

但是不要太高兴,现实还是很骨感的,不要说没有像Fusion和Antd这样的成熟的开箱即用的UI组件库,也不要说如何通过这些API稳定地构建SPA应用,整个社区还没有讨论过像React、Vue、AngularJS这样成熟的解决方案,那就等着吧,先熟悉一下API总是对的。

至于Web Audio (20%)、WebGL (17.5%)、Web动画(16.3%)、WebRTC (14%)、Web语音API (8.2%)、WebVR (3.3%)这些只能用于特定开发需求的API,用的人少是正常的,但千万不能忽视

Web Audio、Web Speech和WebRTC对于视频和音频流的传输和交互非常重要,而WebGL、WebAnimation和WebVR则通过几个步骤提高了Web世界的表达能力。我觉得大家真的应该好好思考一下,如何结合自己的业务场景,通过这些浏览器功能来寻求更新上的突破。也许下一个出路或互动模式创新将在你的团队中诞生。别忘了给我发红包(笑)。

1.5其他

最后,我们来看看WebAssembly (WASM)的研究。实际使用过的开发者比例是10.5%,听说过但没用过的占73.9%,没听说过的占15.6%。

我觉得大部分前端开发人员应该是在以前没听说过的象限。目前,社区并没有大量关于网络组装的内容。用C++和Rust写Web应用,对Web开发者来说真的没有什么吸引力。我还是抱着等着看以后怎么样的态度。

2.技术框架

在技术框架部分,我将重点介绍使用的技术框架数量和对框架的满意度,这些框架代表了当前流行的技术选择和未来可能的流行技术方向。我会附上每项技术的链接,以便您可以点击了解更多技术细节。

2.1语言风格

2020年,Type将最终决定如何编写符合口味的Java,93%的受访者对通过Type约束自己的Java代码表示满意。看来今年不拥抱Type的开发者肯定出局了。

另一方面,关于当前语言风格是否令人满意的调查显示,开发者在2019年或2020年的得分仅为3.6分,这表明Java在更优雅的写作上还有很大的探索空间。

2.2前端框架

在前端框架上,React、Angular、Vue.js无疑仍然是世界三大框架。但你可能不相信“最满意的前端框架”不是React,而是Rich Harris 2019年推出的Svelte。66%的受访者表示对该框架感兴趣,89%的受访者表示对该框架的使用非常满意。总之,用过的都不错。

Svelte顾名思义,就是强调在构建的时候可以直接产生最小的完整的代码,这样构建出来的组件就可以直接使用,而不需要添加框架本身。因此,不仅打包的应用程序代码更小,而且由于没有diff操作,性能也大大提高。可惜Svelte目前不支持Type,也没听说有大型项目在用,不然很多前端开发者又要学了。

2.3数据层

数据层框架在国外很乱,但是在国内火不起来的GraphQL在数据层框架排名上还是万年第二,使用最多的状态管理框架还是大家熟悉的Redux。凭借GraphQL和React的光芒,阿波罗客户端近三年来一直稳居排行榜第三位。

更有意思的是,2020年异军突起的Vuex和XState,迅速从旧的状态管理框架Redux和MobX中跃进,分别获得了开发者最满意的排场榜第三和第四的好成绩。我没怎么用过Vuex,但是XState做了一个实实在在的调查,真的是一个很好的物有所值的框架,特别是最近流行的逻辑排列,状态排列,各种排列,再加上自己的流程图,不仅立马感觉高了很多,还真的解决了程序状态复杂之后很难整理的老问题。

2.4后端框架

我最近一年没怎么写过服务器应用,只是通过调研报告才发现我用的最熟练的Koa人气逐年下降,达到了使用排名的中间位置。现在,Next.js和Express是开发服务器端应用的首选,也在使用。仔细看看。葫芦岛、码头和网飞都在使用Next.js。像我这样落后的学生真的应该补课。

2.5测试框架

说到测试框架,Jest在2019年从Mocha手中抢到了水龙头棒,从此稳稳的站在了测试框架的榜首。摩卡和故事书的使用排名相差无几,但要撼动Jest的江湖地位似乎不可能。

值得注意的是,Kent C. Dodds开发的Testing Library测试框架自发布以来,吸引了众多前端开发人员的关注。Testing Library专注于DOM测试,完全支持三大主流框架,提供了一堆廉价的API,被称为符合用户使用习惯的API。遗憾的是,国内大部分开发人员并不太重视单元测试,更不用说DOM元素级测试了。我大胆预测,Testing Library在中国会像GraphQL一样保持不温不火的状态,这是一种遗憾,但也没办法。

2.6建筑工具

说到构建工具,就有了真正的聊天。虽然webpack仍然以89%的使用率领先,但是如果你看看2020年很多开发者感兴趣或者满意的构建工具,你会惊讶的发现,曾经如火如荼的grave . js和Browserify也逐渐显示出了中年危机的势头,webpack今年也跌落神坛,在用户最满意的构建工具排行榜上仅排名第四。

说第三名被Type抢了是可以理解的。前两个是esbuild和Snowpack。相信很多国内的开发者听到都很困惑,但其实分开上官网就能看出来,这两个构建工具的主要目的是提高构建速度,尤其是esbuild,根据官网给出的数据,比webpack快113倍。

老实说,随着项目越来越大,单回购方案在国内越来越流行,建设时间有时会直接影响开发体验。一个项目构建超过十秒钟,看起来不像是前端开发中应该出现的场景。无论是esbuild还是Snowpack,如果有机会,鼓励大家多尝试,总结经验,造福社区。

2.7应用程序/桌面

毫无疑问,用JS写桌面应用最好的框架肯定是electronic。但是如果要开发移动应用,2020年会有比React Native更多的。2020年的新电容也很抢眼。虽然只有10%的受访者实际使用,但84%的开发者表示使用非常满意。

但从使用体验来看,整体移动/桌面框架满意度不高,近几年基本保持在3分左右。貌似前端要实现每端反复左右跳跃,需要更多的突破性技术创新。

3.总结

以上是2020年Java整体状态的快速概述。总的来说,2020年语言特性和各种框架库都不会有突破性的变化和爆发式的增长。但是仔细观察,你会发现其实在各个子领域都在悄然发生着一些创新和实践,比如建筑性能的提升,前端测试的提升,Web表达的丰富性等等。

对于前端领域一些由来已久的问题,比如如何实践性能更高的组件化,如何真正实现Java的“一次开发,处处运行”,目前还没有定论。换句话说,还是等更聪明的开发者来解决。

如果非要问2020年最热门的技术是什么,我想这个奖杯无疑会颁给Type。随着新版Type的更新,写前端代码越来越有味道。回搜狐多看

负责编辑:


以上就是2020年JavaScript状态调查报告摘要150172的全部内容了,喜欢我们网站的可以继续关注馨以股票网其他的资讯!

相关推荐

Coinbase即将上市,全球第四大数字货币交易所CEO警告加密货币将遭受重创
4月13日,CapitalState获悉Coinbase上市在即,币安币等交易所代币也在上市前上涨。根据CoinMarketCa...
深港证券-汽车行业中期报告回顾:触底反弹,复苏在即,关注维修机会
[研究报告摘要]投资策略和主要建议:随着行业的复苏,建议关注估值较低的行业领导者,例如长城汽车(601633),华宇汽车(600...
银河证券罗黎明:将为私募股权交易者创建交易研讨会
(记者林谦)8月23日下午,银河证券"知名专家"2020私募股权投资论坛在上海举行。银河证券副总裁罗立明表示,银河证券将为私募股...
数字货币如何产生?有什么特点?对我们国家的货币有什么影响?
数字货币是指货币政策的数字化。数字化与扫描不同。这与数字签名相同。数字签名并不意味着将您的签名扫描成数字图像或通过触摸板获取它,...
浙江雄通:订单充足,建设提早开始
2月15日起,[浙江仙通(603239),股票吧](603239)位于仙居经济开发区工厂区。汽车密封条装配线已开始运行,并且熟练...
美银美林:小米集团或增加市场份额,给予买入评级,上调目标价至14港元
4月24日,资本报、智通财经APP获悉,美银美林发布报告称,小米集团(01810.HK)投资评级一举从"跑输"上调至"买入".将...
华安基金:美联储出台
当地时间8月27日星期四,美联储公布了最新修订的《长期目标和货币政策战略声明》,推出了市场广泛关注的"平均通胀目标",希望通胀能...
中国楼市最新动态:德国股市实时行情_如何确定私募股票价格
月阁入股中国楼市的最新消息。月歌股份呢?南京哪家配股平台口碑好,安全可靠?重点需要警惕!它是一种发展了几十年的新型融资模式,本质...
嘉实低碳DIF线离开后,暗示股价(回调)将形成短期高点
嘉实低碳特里克斯指数的应用方法(1)如果你没有太多时间关注股市,想在股市赚钱,或者想成为中期股,不想参与股市的混乱,以减少重大欺...

友情链接