如果你想找一份与JavaScript相关的好工作,或者想了解2020和新十年的重要技术,请阅读本文以确保满满的都是干货。本文的重点不是罗列那些“好”、广受喜爱或流行的技术栈和框架——而是解释哪些栈和框架最有利于在2020年和新的十年找到好工作。我将查看一些数据,这些数据来自各种来源:按主题划分的Google搜索趋势JS调查状态StackOverflow调查Npm下载摘要职位发布以上指标都不是完美的,但就我的目的而言,npm下载和职位发布是最重要的,总的来说,这些指标清晰而一致地描绘了JavaScript的技术前景和趋势。根据这些指标来选择学习框架好不好?这取决于目标是什么。一个明确的目标——了解求职者的投资回报率——比告诉读者什么是伟大的意义要容易得多。虽然没有一件事可以做所有事情,但客观地定义最有可能帮助实现特定具体目标的事情真的很容易。请看一些数据。首先,了解JavaScript以及如何使用它构建软件,然后再过分担心技术堆栈。如果您无法解释什么是功能组合、对象组合和模块,请单击此处。所有的软件开发都是组合:将大的、复杂的问题分解成可以使用软件构建块解决的小问题:功能、对象、模块等。这些解决方案被组装成应用程序。以深入研究JavaScript和软件组合开始新的一年。2019年,React独领风骚,2020年,地位依旧。我喜欢npm下载指示器,因为它可以显示框架的活跃使用情况*。通常在工业框架中的下载非常活跃,因为用户在其本地计算机上运行npminstall。注意:这里不包括jQuery,许多jQuery项目是不能与npm一起工作的遗留项目,所以它无论如何都会被严重低估。包含Svelte是为了深入了解其在市场中的相对地位,并解释为什么它没有出现在其余图表中-目前还没有足够的数据让Svelte在图表中有意义地表示。例如,它在Google搜索趋势中还不是一个可用的主题。汇总的职位发布此图表总结了当前公开的职位发布,涉及特定框架*。在2019年12月的UI框架榜单中,与去年相比,React的领先优势进一步扩大,而Angular和jQuery则失去了与Vue的竞争优势。这是一个饼图,显示了每个框架的相对就业市场份额:顶级框架就业市场份额JavaScript开发人员的平均工资在2019年再次上涨,从每年111,000美元增加到114,000美元(来源)。如何:在Indeed.com上申请工作。为了消除误报,我搜索了与关键字“软件”配对的内容,提高了相关性,并乘以1.5(大致是使用关键字“软件”和不使用关键字的编程工作列表之间的差异)。差异。)所有搜索引擎结果页面都按日期排序并抽查相关性。所得数字并非100%准确,但对于本文中使用的相对近似值来说已经足够好了。谷歌搜索趋势不出所料,搜索兴趣*反映了就业市场份额,但也存在一些有趣的差异。从图中可以明显看出,从2017年至今,jQuery的搜索热度在减弱,而Vue.js的搜索热度则呈现出强劲的增长趋势。搜索份额如下所示:与职位发布一样,React遥遥领先,吸引了36%的前端框架搜索,其次是Angular(约27%)和jQuery(25%)。对Vue.js的搜索兴趣远大于它所占的就业市场份额,但该数据在排名方面通常与就业市场数据保持一致。这似乎已被成功证实。方法:对于所有术语,数据都是按主题而不是术语收集的,以排除不相关关键字匹配中的误报。未来值得关注的框架越来越多的工作需要具备React技能的人,而不是像Svelte或Vue这样的技能,这些技能很受欢迎但使用并不广泛(两者都获得了很高的满意度,但相比之下行业采用率要低得多)。学习Svelte或Vue可能很酷——但如果目标是找到工作,那么先学习React更有可能获胜。换句话说,在2019年JavaScript现状调查中,Svelte和Vue都获得了很高的用户满意度。过去,React的高用户满意度预示着比当时占主导地位但满意度得分相对较低的Angular更快获得收益。2019年,React用户满意度排名第一,达到89%。Svelte(88%)和Vue.js(87%——低于去年的91%)紧随其后。Svelte或Vue不太可能窃取足够多的React用户来提高自身的用户满意度,但仍有大量Angular和jQuery用户可能会选择Svelte或Vue,这让Svelte和Vue在2020年实现强劲增长。可以肯定的是,掌握React将提高你在2020年找到并留在一份好工作的几率。TypeScriptvsJavaScript毫无疑问,TypeScript在过去几年中发展迅速。StateofJavaScript调查显示,89%的TypeScript用户会再次使用TypeScript,而66%的受访者要么使用TypeScript,要么对它感兴趣(略低于去年的71%)。虽然人们对TypeScript兴趣浓厚,使用率似乎也在迅速增长,但就业市场对TypeScript经验的需求并不强烈。只有大约7%的JavaScript职位空缺在职位描述中提到了TypeScript(来源)。在招聘经理的期望中,JavaScript开发人员可以轻松使用TypeScript,因此他们可能不会在职位发布中提及TypeScript,这可能会导致数字偏低。笔者坚信,TypeScript语言的投资回报率可能很低,甚至为负。这对生产力不利,而不是提高生产力,如果应用了TDD、代码审查、设计审查等强大的漏洞预防措施,那么使用TypeScript编码不太可能大幅减少错误数量。也就是说,TypeScript有很多优点,用户不应该被它吓倒,或者仅仅因为公司需要TypeScript而不是JavaScript而拒绝一份工作。TypeScript是JavaScript的超集,因此将JavaScript转换为TypeScript并不像学习一种截然不同的语言那样具有挑战性。在2020年的就业市场上获得优势并不需要了解TypeScript语言,但TypeScript很有用,即使对于标准JavaScript也是如此。我每天都使用TypeScript,使用Microsoft的代码编辑器为JavaScript提供智能感知。这种智能感知甚至可以通过使用JSDoc(由解释类型注释的TypeScript理解和解释)或外部d.ts文件来增强,VSCode将自动获取用户使用的模块的TypeScript定义。注:多年来,作者一直在使用TernJS和Atom,享受着类似的好处,但两者的结合缺乏TypeScript+VS的代码维护和社区支持。如果您还没有尝试过Microsoft代码编辑器,可以从这里开始。顺便说一下,VSCode在JS调查地区以57%的市场份额主导JavaScriptIDE市场(其次是WebStorm,市场份额为14%)。数据管理Redux在状态管理器竞争中仍处于领先地位,但GraphQL和Apollo也越来越受到客户的青睐和兴趣。GraphQL的使用预计将在2020年继续增长。也就是说,即使用户使用GraphQL,仍然有强有力的证据表明Redux状态管理器的能力,即使没有人使用Redux,他们也会从学习Redux中受益.GraphQL是近年来流行的查询语言。它在语法上很简单,但令人望而生畏,因为它是全栈式的,学习这门语言需要学习如何将它连接到数据存储层——但值得付出努力。短期内,GraphQL不会完全取代JSONRESTAPI。但2019年发展迅速,预计2020年将继续强劲增长。后端Express是Node框架的霸主,满意度非常高,2020年不会有强大的挑战者,但随着Serverless的兴起,我预计Express会在新的十年逐渐失去霸主地位。Next.js是一个全栈React框架,最初构建在Express上,但后来从Express转向无服务器并进行了静态优化,并且疯狂增长。将EricElliottJS.comExpress转换为无服务器Next.js,将托管成本降低90%,同时加快页面加载速度。强烈推荐。作者目前正在使用Next.js和Zeit托管该应用程序。测试Jest和Cypress分别是流行的单元和功能测试工具,但我更喜欢RITEWay和TestCafe。RITEWay是单元测试的鼻祖:它是一个始终回答每个单元测试必须回答的5个问题的测试框架。TestCafe是一种功能测试工具,与Cypress一样,不需要用户费力使用Selenium,但具有更好的跨浏览器支持和出色的测试记录器/IDE。强烈推荐质量审查团队使用TestCafe。函数式工具Lodash、Ramda、Immer、Redux和RxJS是我经常使用的函数式工具。Ramda在2019年有了长足的发展,并提供了一些Lodash没有的工具,包括镜头和传感器。通过管道运算符,RxJS提供传感器样式功能。Immer使操作变得容易,而无需更改JavaScript对象。Redux是一种状态管理工具。2020年的科技格局未来十年,多项新兴技术将对人类生活产生巨大影响。以下是该技术在各个方面的最新概述:人工智能人工智能可能是有史以来最具变革性的技术。各派学者和固执己见的亿万富翁将其描述为神奇的乌托邦或人类的终结。众所周知,人工智能或许确实是人类的终结,但也可能是人与机器美好合作的开始。人类才刚刚开始对人工智能未来的可能性有一个模糊的认识。有些可能性是可怕的(比如deepfakes),有些是非常有用的(比如Adob??ePremiere新的视频编辑自动重构)。到目前为止,事实是人工智能既可怕又非常有用。人工智能会继续让一些可怕的事情发生,但通过人工智能改善人类生活的潜力是巨大的。潘多拉魔盒已经打开,无法再关闭,所以作者希望人类能够适当地利用人工智能解决重大问题,改善生活。2019年,人工智能领域取得多项重大突破。近年来,研究团队在各种视频游戏中争夺超人的表现,但某些水平的游戏对人工智能来说仍然具有挑战性,包括《星际争霸Ⅱ》等长期战略游戏。DeepMind的AlphaStar程序使用与人类玩家相同的资源在战网官方服务器上玩游戏,已经达到了大师级别。《星际争霸》是一款复杂的游戏,需要长期的战略思考,这曾被认为是AI无法企及的。能够进行战略性思考,是从人工智能到通用人工智能道路上的一个重要里程碑。如果这些游戏看起来像是在愚蠢地使用资源,请考虑像DeepMind这样的项目,它在语音合成领域取得了重大进展,为AI代理和个人助理提供了更自然的声音,此外,恢复也更加重要失声者的声音。AI还可用于诊断癌症、预测蛋白质折叠(可用于了解疾病和开发新药的过程)、恢复残疾人对肢体的控制、生成逼真的图像等。(来源)在变革性人工智能技术方面,自动驾驶汽车值得一提。该系统的主要参与企业包括Cruise、Uber、Waymo、Nuro、Aurora、Ford等。技术还处于起步阶段,过度乐观给行业带来了很大的问题,但我毫不怀疑超人的自我-驾驶能力将在2020年代出现。作者曾在2015年对自动驾驶做出如下预测:“到2045年,司机将像马拉越野车一样。”五年后,作者认为他低估了自动驾驶汽车推出的速度。2018年,Waymo的自动驾驶汽车行驶了超过100万英里,美国24个城市的道路上都有自动驾驶汽车。现在,我预计到2025年,来自多个制造商的多种车型将实现完全的5级自动驾驶。密切关注特斯拉、通用汽车、福特和宝马公司。人工智能研究论文的发表量在过去十年增加了十倍,人工智能现在正在为主流用户提供实用和有用的工具,这一趋势有望在新的十年继续下去。人工智能已经做到了几年前大多数人认为不可能的事情,这是有目共睹的。期待人工智能在21世纪创造更大的奇迹。区块链和加密货币2019年是全球区块链和加密货币具有里程碑意义的一年。区块链技术开始成为主流。预计2020年区块链将实现更大的增长和主流采用。DeFi的爆炸式增长使用户友好、无需许可和无需银行的借贷成为可能。目前,DeFi拥有价值6.5亿美元的合约(包括4.5亿美元的非银行贷款),该技术于2019年上线。随着越来越多的人投资于加密货币,我预计未来会有越来越多的由密码学支持的DeFi贷款。人们可以在不牺牲加密货币投资机会成本的情况下获得流动资产,或者通过杠杆(增加投资风险或收益)使用DeFi贷款投资加密货币。加密货币和区块链技术正在突破主流。比特币和以太坊的日活跃地址数量在2018年1月达到顶峰,次年由于市场低迷(加密货币价格每上涨10倍就出现大幅回调,在下一个周期达到峰值10倍以上),兴趣开始减弱前一个周期的峰值)。比特币和以太坊区块链上的每日活跃地址(来源)Square的CashApp在Android上的下载量超过1000万次——用户可以通过具有出色用户体验的应用程序购买、出售、发送和接收比特币。Coinbase的Android下载量超过1000万。Brave推出内置以太坊钱包,该浏览器的每月用户数在10月至11月底之间从870万增加到1040万。通过Sliver.tv和DLive,2000万视频游戏迷正在使用ThetaNetwork进行去中心化流媒体传输。2019年,我最满意的进展就是Fortmatic的推出。无论是否构建加密应用程序,Fortmatic都可用于替代用户身份验证、提高安全性、摆脱供应商锁定、添加端到端加密、签署交易等。要在2020年构建新的应用程序,请考虑用Fortmatic替换滚动用户名/密码身份验证(2020年没有人会这样做),或者将身份验证委托给Google、Facebook等。作者写了一篇文章讨论如何使用密码学来改进应用程序身份验证并提高安全性。预计主流应用将在2020年采用Fortmatic等技术。以太坊轻松赢得2019年智能合约平台竞赛。预计它将在2020年继续占据主导地位。增强现实我从小就梦想着增强现实能够成为现实,自2015年以来,我每年都在写它的承诺。扩展现实将在未来取代手机。这只是时间问题。这需要多长时间尚不得而知,但目前看来这种转变可能会在未来十年内发生。甚至可能在未来5年内。虚拟现实和增强现实之间的界限已经模糊,因此业界现在将整个领域称为扩展现实。ARKit和ARCore(Apple和Google的增强现实软件开发工具包)自问世以来已经取得了长足的进步。从2017年到2019年5月,月活跃用户数从4700万增长到1.5亿。WebAR在2019年站稳脚跟,2020年可能会继续增长。如果有兴趣,请查看AR.js、React?或ViroReact。硬件已经取得了很多进步。2016年,当开发者版本刚出来时,Hololens1的售价约为5000美元。接下来发生了什么?Hololens2的价格仍为3,500美元,并且尚未完全准备好。裁剪、SLAM(抖动和偏移)、视野等问题仍然存在。人们不希望这些问题持续存在。但每月99美元的定价使得获得开发者工具包成为可能——即使这需要一段时间。无人机美国购买了大约200万架无人机,这些无人机改变了建筑、地理测量、测绘、电影、航空摄影、农业、环境科学和娱乐行业。2020年,商用无人机交付很有可能在美国进行。FPV无人机比赛是我最喜欢的观看项目,无人机比赛联赛的直播也是我最喜欢的。比赛还提供了精心制作的模拟器,让观众可以看到无人机的样子。所有新的无人机活动都需要大量软件,包括图像处理、无人机测绘软件、交付飞行计划、遥测记录和处理、分析、行业应用集成等。无人机软件也与人工智能有很多重叠——自主飞行的无人机需要图像处理、防撞等。结语21世纪的第一个十年出现了许多变革性技术,其中许多人类认为理所当然的技术产生了重大影响:Instagram(Instagram)Sound(Spotify)Uber(虚拟助理)无线耳塞主流虚拟现实增强现实(用于热门游戏《口袋妖怪GO》)平价特斯拉共享经济(汽车、滑板车、自行车)主流平板电脑主流生物识别(触摸识别、人脸识别)众筹我迫不及待地想看看人类在新的十年里会如何发展。创造一些奇迹。
