【译】2019年值得学习的顶尖JavaScript框架和要学习的主题

译者:Aemple

原文作者:Eric Elliott

原文地址: medium.com/javascript-…

概述

白驹过隙,忽然而已。转眼又到了一年的这个时候,旧的一年的结束和新的一年的开始,我们照常对过去的一年做一些总结并对未来的一年做一些展望:我们的目标是寻找出在工作最具有ROI(投资回报率)的学习主题和技术。人们在劳工作中使用了什么?趋势是什么样的?我们并没有试图挑选最好的东西,而是采用数据驱动的方法来帮助你回答面试官分问题(例如:“你知道__(填空)__吗?)并以此来提高你对技术发展学习的认知。

我们不会去考虑哪些是最快的性能最好的,或者哪些具有最佳的代码质量。我们假设他们都是快速度高性能的,他们都足以支撑完成工作。剩下最重要的重点就是:实际上大规模使用了什么?

组件框架

我们首先看到的一个重要的问题是组件框架的当前状态,我们将主要关注三大问题:React,Angular和Vue.js,主要是因为它们的使用度都远远超过了其余框架,是工作中主要采用的技术。

去年我注意到Vue.js增长的速度十分迅猛,并提到它可能会在2018年超越Angular(详细请看:medium.com/javascript-… Top JavaScript Libraries & Tech to Learn in 2018)。 但这种情况并没有发生,但它仍在快速增长。我还预测转换React用户会相比Angular困难许多,因为React的用户满意度比Angular强得多 - React用户根本没有令人信服的理由进行切换。这与2018年的预期一致.React在2018年牢牢控制其领先优势。

有趣的是,这三个框架仍然呈指数级增长,同比增长。

预测:React在2019年将继续占主导地位

在我留意React的第三年里,React仍然比Angular有更高的满意度(详细可查看:2018.stateofjs.com/cn/front-en…

说到React,它在不断变得更好。自React 0.14以来,新的React hooks API取代了class我自己最难容忍的API。(class API仍然有效,但钩子API真的好多了)。React还有许多优秀API改进,比如更好地支持代码拆分和并发渲染(具体请参阅 reactjs.org/blog/2018/1… 这都是将使它在2019年难以被击败的理由。现在,React毫无疑问是该领域最具吸引力的前端框架。(译者PS:借用尤大的话 我们应该去关注怎么把一个框架学好,而不是一味的去比较那个更强)

数据展示

我们将查看一些关键数据来衡量行业的兴趣和用途:

1、Google搜索趋势。不是我最喜欢的指标,但有利于大局观。

2、包的下载量。这里的目的是在使用框架的过程中捕获真实用户。

3、来自Indeed.com的工作板发布。使用前几年的相同方法来保持一致性。

Google搜索趋势(2014年1月 - 2018年12月)

React在2018年1月的搜索趋势中超越了Angular,并在今年年底保持领先地位。Vue.js现在在图表上保持可见位置,但仍然是搜索趋势中的一个小因素。比较去年的图表(2014年1月 - 2017年12月):

包的下载量

软件包下载为我们提供了实际使用内容的公平指示,因为开发人员经常在工作时下载所需的软件包。

过于聪明的读者会注意到,有时候他们会从他们内部的公司包装回购中下载这些东西,我回答说:“为什么是,这确实发生了 - 对所有三个框架都有效。”他们都在企业中建立了立足点,并且我对大规模数据的平均功率充满信心。

React月度下载:2014-2018

Angular月度下载:2014-2018

Vue每月下载:2014-2018

** 让我们看一下下载份额的快速视觉比较:**

“但你忘记了Angular 1.0的全部内容!它在企业中仍然很大。“

不,我没忘记。Angular 1.0在企业中仍然使用的方式与Windows XP在企业中仍然使用的方式相同。肯定会有足够多的人注意到这一点,但新版本早已相形见绌,现在它已经不如其他框架重要了。

为什么?因为整个软件行业,以及在所有部门(包括企业)中使用JavaScript的速度都在快速增长,以至于即使旧版应用程序从未升级,新安装也会使旧版安装变得相形见绌。

有关证据,请再看一下这些下载图表。2018年的下载量比前几年的总和还要多。

招聘委员会发布

Indeed.com汇总了各种职位委员会的职位发布。每年,我们都会在工作岗位上提及每个框架,以便更好地了解人们的招聘情况。这是今年的样子(2018年12月按框架划分的职位发布):

  • React:24,640

  • Angular:19,032

  • jQuery:14,272

  • Vue:2,816

  • Ember(未图示):2,397

同样,今年的就业岗位比上一年多得多。我放弃了Ember,因为它显然没有以其他一切的速度增长。我不建议学习它来为将来的工作安排做准备。jQuery和Ember的工作变化不大,但其他一切都增长了很多。

值得庆幸的是,加入软件工程领域的新人数量在2018年也增长了很多,但我们需要继续雇用和培训初级开发人员(这意味着我们需要合格的高级开发人员来指导他们),否则我们将不会保留与爆炸性的就业增长同步。相比之下,这是去年的图表:

平均工资在2018年再次攀升,从每年110,000美元攀升至每年11.1万美元。有趣的是,薪资清单落后于新的雇佣预期,如果招聘经理不调整开发商的市场并提供更大的加薪,他们将难以雇用和留住开发人员。保留和偷猎在2018年仍然是一个巨大的问题,因为员工在其他地方跳槽以获得高薪工作。

保证数据尽量准确的方法:在Indeed.com上进行求职。为了消除误报,我将搜索与关键字“软件”配对以增强相关性的机会,然后乘以~1.5(大致是使用“软件”一词​​的编程工作列表与不使用“软件”的编程工作列表之间的差异。 )所有SERPS按日期排序,并检查相关性。结果数字不是100%准确,但它们足以满足本文中使用的相对近似值。

下面是译者对框架这块选择的一些评论 有兴趣的可以看看

from:Evan You

免责声明:我是Vue的作者。

总的来说,我确实认为React将在2019年继续保持强势,但本文逻辑中存在一些根本性缺陷:

1、我对你的“满意度评分”的定义感到困惑。来自JS状态调查的满意度评级应该计算为使用框架并将再次使用该框架的用户的比例(两者都将使用和不再使用)。在使用过React的14417位用户中,13062会再次使用它,这是90.6%的满意度。对于Vue来说,6374中的5810 = 91.2%。我不确定这是如何转化为React的“用户满意度更高”。

2、我在其他地方已经提到了这一点,但谷歌趋势和NPM下载是非常不准确的指标,有太多变量在起作用。Google Trends关键字的误报是巨大的,无法摆脱; NPM下载与FB / Google的内部使用以及使用NPM /通过CDN /使用CI(具有依赖性缓存与否)的框架的用户百分比有很大关系。与当前使用情况相比,工作计数是延迟曲线。老实说,我已经在框架比较文章中看到过相同的问题方法,所以我只需要在这里指出它。更相关的用户数指标是Chrome devtools扩展的每周活跃用户(React,Vue,Angular)) - React团队还选择在其ReactConf主题演讲中使用它作为用户计数指示器,但由于扩展名不是“官方”,因此Angular数字的准确性要低得多。

3、再一次,我厌倦了看到像这样的文章宣传“学习最主要的框架”,以便人们可以购买作者的指导服务 - 这是一个有兴趣的派对的公然营销。对于读这篇文章的人:不要根据思想领袖的观点选择框架来学习。全部尝试,权衡您的优先级(技术要求,符合您的品味的API,获得工作的重要性等)并做出自己的决定

作者回复:

Hi Evan

感谢您的深思熟虑,并祝贺您在Vue.js取得的巨大进步。

1、对不起。我在这些句子中谈论的是React vs Angular,并不打算贬低Vue的出色用户满意度。保持伟大的工作!我澄清了有问题的句子。

2、我没有使用“关键字”搜索趋势,因为你是对的。他们提供了许多误报。但是,当你切换到主题时,那些误报几乎消失了,数据变得足够干净,可以用于像这样的高级概述。RE:npm计数 - 一旦项目变得足够大,使用量就会在整个生态系统中分散,并且这些影响会更均匀地应用于所有顶级框架。如果你的人数不足,那只是因为它的使用尚未充分分散,无法从平均效应中受益 - 这只能加强其他人占有优势的地步。至于“与FB /谷歌的内部使用有很多关系”的其他数字 - 你有没有提到支持这种说法?Re:工作计数,是的,它是一个延迟曲线,Vue.js是块上的新孩子,所以是的,近期,而不是2020年.RE:devtools,这是一个非常冒险的指标,因为许多用户根本不使用它们,而且有些项目比其他项目更好地传授他们的devtools。我们可以整天讨论各种指标的相对优点,但本文的底线是工作规则,其他一切只是“哦,这里有一些其他有趣的数据,所以我们可以证实相对的工作列表数字”。你提出了一些读者应该记住的有趣观点,但为了本文的目的,我坚持使用我的数字。

3、如果Vue.js继续增长并设法赶上,我也会报告。事实上,如果主导框架非常好,(在这种情况下),首先学习它对求职者来说是一个非常好的高投资回报率策略。这只是一个事实,没有任何个人偏见会改变它。如果您对我的培训有所了解,您会发现我的风格是教授超越特定框架的原则,甚至适用于使用完全不同的语言。我对React生态系统没有强烈的既得利益,我坚持这里的建议。

JavaScript基础知识

我每年都这么说:关注基本原理。今年你将得到一些额外的帮助。所有软件开发都是组合:将复杂问题分解为更小问题的行为,并为这些较小问题组成解决方案以形成您的应用程序。

但是当我向JavaScript受访者询问软件工程中最基本的问题,“什么是函数组合?”和“什么是对象组合?”时,他们几乎总是无法回答问题,即使他们每天都这样做。

我一直以为这是一个非常严重的问题必须解决,所以我写了一本关于这个主题的书:“Composing Software”(leanpub.com/composingso…

TypeScript

TypeScript在2018年继续增长,并且它继续被高估,因为类型安全似乎不是真实的东西(似乎没有太多减少生产错误密度),并且在没有TypeScript帮助的情况下在JavaScript中进行类型推断确实非常好。您甚至可以使用TypeScript引擎使用Visual Studio Code在普通JavaScript中获取类型推断。或者为您喜欢的编辑器安装Tern.js插件。

对于大多数高阶函数,TypeScript在其表面上继续平坦。也许我只是不知道如何正确使用它(经过多年的定期生活 - 在这种情况下,他们真的需要提高可用性,文档,或两者兼而有之),但我仍然不知道如何正确使用它在TypeScript中输入地图操作,它似乎无视传感器中发生的任何事情。它无法捕获错误,并经常抱怨根本不是错误的错误。

它不够灵活或功能不足以支持我对软件的看法。但我仍然抱有希望,有一天它会添加我们需要的功能,因为在尝试将它用于真实项目时,尽管它的缺点令我感到沮丧,但我也很喜欢能够正确(和有选择地)使用它的潜力当它真的有用时输入东西。

我目前的评价:在非常有限的使用案例中非常酷,但对于大型制作应用程序而言,高估,笨拙且投资回报率非常低。具有讽刺意味的是,因为TypeScript将自己称为“可扩展的JavaScript”。也许他们应该添加一个词:“笨拙地扩展的JavaScript。”

我们对JavaScript的需求是在Haskell之后建模的类型系统,而在Java之后则更少。

其他组要学习的JavaScript技术

  • GraphQL来查询服务
  • Redux管理应用程序状态
  • redux-saga可以隔离副作用
  • react-feature-toggles可以轻松实现持续交付和测试
  • RITEway用于精美可读的单元测试

加密行业的崛起

去年我预测区块链和fin-tech技术将成为2018年值得关注的重要技术。这一预测很明显。2017-2018的主要主题之一是加密的兴起和建立价值互联网的基础。记住这句话。很快你就会听到很多。

如果你像我一样,自从P2P爆炸以来你一直在关注分散的应用程序,这已经很长时间了。现在,比特币点燃了导火索并展示了分散式应用程序如何使用加密货币自我维持,爆炸是不可阻挡的。

比特币在短短几年内增长了几个数量级。你可能听说2018年是一个“加密的冬天”,并且认为加密行业遇到了一些麻烦。这完全是胡说八道。真正发生的事情是在2017年底,比特币在史诗般的指数增长曲线中再次触及10倍,并且市场有所回落,每当比特币市值增长10倍时就会出现这种情况。

在此图表中,每个箭头从另一个10倍点开始,并指向价格修正的低点。

加密ICO(初始硬币产品)的筹款在2018年初达到顶峰,2017-2018融资泡沫带来了新的就业机会涌入生态系统,在2018年1月达到了超过1万个空缺职位。它已经恢复到大约2,400个(根据Indeed.com),但我们还很早,这个派对刚刚开始。

关于新兴的加密行业还有很多话要说,但那是另一篇博客文章。如果您有兴趣,请阅读“Blockchain Platforms and Tech to Watch in 2019”(medium.com/the-challen….

其他技术观察

正如去年预测的那样,这些技术在2018年继续爆炸:

人工智能/机器学习正在全面展开2018年结束时的30,000个开放式工作,深度假货,令人难以置信的生成艺术,来自Adobe等公司研究团队的惊人视频编辑功能 - 从未有过更激动人心的时间来探索AI。

渐进式Web应用程序正在迅速成为现代Web应用程序的正确构建方式 - 增加了Google,Apple,Microsoft,Amazon等的功能和支持。令人难以置信的是,我将手机上的PWA视为理所当然。例如,我的手机上没有安装Twitter Android应用程序了。我专门使用Twitter PWA。

AR(增强现实)VR(虚拟现实)MR(混合现实)全部聚集在一起,像Voltron一样成为XR(eXtended Realty)。全职XR沉浸的未来即将来临。我预计在5到10年内大规模采用消费者XR眼镜。内部隐形眼镜2018年开辟了数千个新工作岗位,这个行业将在2019年继续爆发。

有兴趣的可以观看此视频:youtu.be/JaiLJSyKQHk

机器人,无人驾驶飞机和自动驾驶汽车自主飞行无人机已经在这里,自动机器人不断改进,更多的自动驾驶汽车在2018年底与我们分享道路。这些技术将继续发展并重塑我们周围的世界到2019年并进入未来20年。

正如预测的那样,量子计算在2018年取得了令人钦佩的进展,而且正如预测的那样,它还没有成为主流。事实上,我的预测,“它可能是2019年或之前的中断真正开始”可能非常乐观。

密码空间的研究人员对量子安全加密算法给予了额外的关注(量子计算将使今天许多关于计算费用昂贵的假设失效,而加密依赖于计算费用昂贵的东西),但尽管不断涌现有趣的研究进展在2018年,最近的报告提出了一些观点:

“量子计算在2000年至2017年期间已经在Gartner的炒作名单上进行了11次,每次都在炒作周期的最早阶段列出,并且每次都被称为超过十年。”

这让我想起早期的人工智能工作,这种工作在20世纪50年代开始升温,在1980年代和1990年代取得了有限但有趣的成功,但仅仅在2010年开始变得非常令人兴奋。

猜你喜欢

转载自juejin.im/post/5c4ffe03e51d451fb955950c