2021年顶级JavaScript框架和技术趋势
现在该回顾一下2020年JavaScript和技术的主要趋势,并考虑我们进入2021年的势头。
我们的目标是突出具有最高潜在工作投资回报率的学习主题和技术。这并不关乎哪一个是最好的,而是哪一个最有潜力在2021年为您找到(或留住)出色的工作。我们还将研究一些最终的更大技术趋势。
语言排名
JavaScript在GitHub和Stack Overflow上仍然占据主导地位。提示1:学习JavaScript,尤其是学习JavaScript中的函数式编程。JavaScript的大多数顶级框架(包括React,Redux,Lodash和Ramda)都基于函数式编程概念。
TypeScript超越PHP和C#跃居第四位,仅次于Java,Python和JavaScript。Python超越Java排名第二,这也许是由于人们对AI的兴趣迅速增长,以及用于GPU加速的动态深度神经网络的PyTorch库的强大力量,这使得对网络结构的实验变得更加轻松快捷。
> Source: GitHub State of the Octoverse, 2020
JavaScript也是第8年在Stack Overflow上排名第一。Python,Java,C#,PHP和TypeScript击败了C ++,C,Go,Kotlin和Ruby等语言。
构架
对于前端框架,大多数JavaScript开发人员都使用React,Vue.js或Angular。jQuery仍然显示出惊人的大型展示,几乎是Vue.js展示的两倍,但是我猜测jQuery在应用程序工作中使用的较少,而在内容网站和WordPress模板中使用的更多,因此我们今年将排除它。
搜索量
React占搜索量的57.5%,其中Angular占据了31.5%的很大份额,而Vue.js则占据了可观的11%。
> Source: Google Trends
*方法:所有搜索趋势均按主题而非关键字进行选择,以排除误报。
职位
如果您想学习能让您在2021年获得工作的最大机会的框架,那么最好的选择仍然是React,而且自2017年以来一直是React。在47.6%的列表中提到了React,它提到了一个常见的前端框架,Angular增长了41.2%,而Vue.js下降了11.2%。
值得一提的是,大多数工作清单都说他们需要使用少数几个命名框架之一的经验,但是当您查看其列出的技术堆栈时,其中的很大一部分实际上是在招聘React工作的,并且会优先考虑具有对React有很深的了解。您会在下面的下载趋势中看到一些支持证据。
*方法:在Indeed.com上进行求职。为了消除误报,我将搜索与关键字"软件"配对,以提高相关性的机会。我还从" Vue.js"中省略了" .js",因为许多列表中都不包含" .js"。所有SERPS均按日期排序,并抽查相关性。
资料下载
npm的下载量看起来与搜索趋势非常相似,但是却揭示了一些有趣的事情:Angular 2+和Vue.js的下载量几乎是并驾齐驱的,但是如果您加上使用旧版本的人数Angular框架,Angular在下载方面比Vue.js领先。
> Source: npmtrends.com
如果我们在饼图上查看最近的下载份额,它显示React约为66%,Angular(所有版本)约为20%,Vue约为15%。
TypeScript与JavaScript
10.6%的雇主在工作清单中特别提到TypeScript,高于去年的7.4%。
> Source: Indeed.com
毫无疑问,开发人员对TypeScript的兴趣浓厚,并且增长迅速。我预计这种趋势将在2021年继续,并且用户将学习解决使用TypeScript的一些成本(例如,通过偏爱接口而不是内联类型注释)。
特别提到TypeScript的职位数量仍然相对较少,但是拥有TypeScript的经验会稍微增加您在2021年找到工作的几率。到2022年,拥有TypeScript的某些经验可能会给您带来就业市场的优势。但是,由于JavaScript开发人员学习TypeScript比学习全新的语言要容易得多,因此TypeScript团队通常愿意雇用和培训优秀的JavaScript开发人员。
服务器框架
在服务器端,Express在下载量方面仍然占主导地位,以至于很难了解竞争者之间的相对受欢迎程度。
> Source: npmtrends.com
正如我去年预测的那样,不包括快递,我们看到Next.js成为了最有力的竞争者,这并不奇怪,因为Next.js是一个灵活的,基于全栈,基于React的框架,可以帮助您交付静态优化的内容,但是当您需要动态生成内容时,也可以使用API路由和SSR的无服务器功能。您甚至可以在首次请求时按需静态生成内容,然后提供CDN提供的缓存的静态内容-对于基于用户生成的内容的应用很有用。
Next具有许多其他优点,包括页面捆绑包的自动优化,带有新Image标签的自动图像优化以及内置的性能分析,可帮助您改善用户的页面加载体验。
如果您使用GitHub并在Vercel上进行部署,那么您还将获得针对每个PR的自动部署以及流畅的CI / CD管道。从本质上讲,这就像拥有一支最好的全职DevOps团队一样,但是除了支付他们的薪水外,您还可以节省大量的托管账单费用。
期望Next.js在2021年继续爆炸。
远程工作趋势
在2020年,全球性大流行迫使团队学习远程协作。在2021年,远程工作将继续是一个重要主题。首先,因为可能在六月前才开始接种COVID-19疫苗,其次,由于许多团队在禁闭期间提高了生产率并降低了成本,因此许多员工不会在2021年返回办公室。
远程工作还带来了更大的位置自由度,促使开发人员转移到他们可以访问对他们来说很重要的事物(例如家庭和负担得起的住房)的地方。此外,毕马威会计师事务所(KPMG)调查的72%的雇主表示,远程工作扩大了他们的潜在人才库。
远程第一和混合远程团队将成为新十年的新常态。
根据Indeed的数据,到2020年,JavaScript开发人员的平均工资略有下降,从每年11.4万美元降至每年11.3万美元,这可能部分是由于远程工作将员工人数扩大到了旧金山和纽约等技术中心之外高得多的生活成本,并要求更高的薪水来补偿。旧金山JavaScript开发人员的平均薪资为13万美元。
尽管如此,许多植根于旧金山和其他技术中心的公司仍在向偏远地区的工人支付美国全国平均水平和旧金山工资之间的费用,这为吸引更好的人才提供了较高的市场价格,并且仍比在当地雇用和支付费用节省了钱用于办公空间。
由于这种趋势,许多远程工作的费用为11.5万美元-中级开发人员为13万美元。无论位置在哪里,高级开发人员通常会找到12万美元至15万美元之间的工作。
> Source: ZipRecruiter
GitHub数据表明,团队并没有因此而放缓,而是在2020年实现了更高的远程工作效率。当锁定开始时,GitHub的活动便激增了。
> Source: GitHub State of the Octoverse, 2020
GitHub上的工作量大大增加,平均拉取请求合并时间减少了7.5小时。
将其扔给越来越多的证据表明远程工作有效。
密码已过时
密码是过时的,不安全的技术,绝对不应在2021年使用密码来保护用户或应用程序。
问题的症结在于,大约一半的用户在多个应用程序和网站上重复使用密码,并且攻击者在经济上受到激励,希望将大量计算能力带给破解用户密码的问题,以便他们可以在银行帐户,亚马逊等上尝试使用。
如果您不是Google,Microsoft或Amazon,那么您可能承受不起防御现代密码破解者所需的计算能力。不相信我吗?查看HaveIBeenPwned。破坏者:如果您使用互联网,则密码已被盗。
多年来,我一直在警告密码的危险,但是在2020年,出现了新的选择,使我们可以永久地保留密码。2020年确实如此,但事实仍然如此:在2021年,任何新应用都不应使用密码。
但是一旦您忘记了密码以换取加密密钥对,您的应用程序还将获得Web3的超强能力。这导致我进入下一个主题:加密。
加密货币
加密将继续成为2021年最重要的全球转化技术之一。以下是2020年的一些亮点:
· 比特币一度创下历史新高,这在一定程度上要归功于PayPal等公司的大力支持。预计2021年会有更多类似情况。
· 推出以太坊2.0信标链,为以太坊成为更具扩展性的平台奠定基础。此外,可扩展性解决方案(如侧链和zkRollups)在2020年获得了强劲发展。预计到2021年将有更多DApp(去中心化应用)集成这些可扩展解决方案。
· DeFi(去中心化金融)现在的市场规模为150亿美元(高于我去年写这篇文章时的6.5亿美元),主要在以太坊区块链上运行。2020年,数百万美元的漏洞困扰着DeFi生态系统。智能合约安全将继续成为热门话题,并在2021年带来巨大机遇。
· 不可替代令牌(NFT)在2020年获得了发展势头,单个令牌的几次高调销售价格都在数万美元左右。Rarible引入了他们自己的社区令牌,并开始将其空投给市场用户,从而增加了交易量。每天都会买卖价值数百万美元的NFT,但这仅仅是个开始。因为它们几乎可以代表任何价值,所以整个可寻址市场的价值都在万亿美元左右。
· Flow区块链启动并为主流区块链采用带来了许多希望。NBA Top Shot已售出超过600万美元的NBA品牌NFT时刻,这些短片代表了NBA游戏中关键时刻的短片。
· Theta Network推出了智能合约和NFT。除其他事项外,NFT将用于Theta.tv上的贴纸和徽章,Theta.tv是Twitch的一种去中心化替代方案,每月有数百万活跃用户。
人工智能(AI)
2020年对于AI来说是开创性的一年。通过GPT-3的发布,我们了解到语言模型和转换器通常可能是通向人工智能(AGI)的可行之路。
人脑通过将其与我们已经知道的事物相关联来解决各种问题的能力在AI界被称为零镜头和少镜头学习。我们不需要大量的指导或示例来完成我们的新任务。我们经常仅用几个(或没有)示例(快照)就能找出新的问题。
人类认知技能的普遍适用性被称为一般智力。在AI中,人工智能(AGI)是"具有理解或学习人类任何智力任务能力的机器的假设智能。"
GPT-3展示了它可以通过其巨大的培训集(包括基本的整个公共网络(通用抓取,WebText2,Books1,Books2,和Wikipedia),再加上其巨大的模型尺寸。GPT-3使用了1,750亿个参数。就上下文而言,这是现有技术水平的一个数量级(10倍),但仍比人脑小几个数量级。
扩大GPT-3的规模可能会带来更多突破。
自驾车
从2020年10月开始,Waymo开始提供100%的完全无人驾驶(无人坐在驾驶员座位上)。在发布时,有1500个每月活跃用户和数百辆汽车在Phoenix市区提供服务。
2020年12月,通用汽车的Cruise在旧金山的街道上推出了完全无人驾驶的游乐设施。
无人机交付
UPS在2020年启动了2架无人机试验。一项试验为佛罗里达州的退休社区提供处方,另一项试验在北卡罗来纳州的医疗机构之间提供包括个人防护设备(PPE)在内的医疗用品。
法规,安全,噪声和技术挑战将可能继续意味着无人机交付服务在2021年的增长缓慢,但是由于COVID限制措施将持续存在,并且至少在6月之前一直存在,因此没有比现在更好的时机了。在提高效率和非接触式交付方面取得进展。
量子计算
中国的研究人员报告说,他们实现的量子霸权比去年Google报道的量子霸权快100亿倍。研究人员正在迅速进步,但是量子计算仍然需要极其昂贵的硬件,并且世界上只有少数的量子计算机能够实现任何种类的量子优势。
抗量子密码学,量子辅助密码学和用于机器学习的量子计算是潜在的重点领域,突破将对整个行业产生重大的全球影响。我相信有一天,量子计算在AI领域的应用将推动该技术前进许多数量级-这一壮举将对人类产生深远影响。
以我的观点,这不太可能在2020年代发生,但我希望在2021年听到更多的量子至高无上的声明,也许量子计算机可以计算的各种算法都有突破。我们可能还会看到更多实用的量子计算API服务和用例。
下一步
撰写软件将教您JavaScript函数式编程的基础。您可以获取组成该软件的电子书,印刷版或博客系列。
在EricElliottJS.com上学习React,Redux,Next.js,TDD等。访问会员的视频课程和交互式代码练习宝库。
1:1指导是不二之选,是学习软件开发的最佳方法。DevAnywhere.io在经验丰富的导师的指导下,使用Eric Elliott设计的详细课程,提供有关函数式编程,React,Redux等课程的课程。
埃里克·埃利奥特(Eric Elliott)是技术产品和平台顾问,是"撰写软件"的作者,是EricElliottJS.com和DevAnywhere.io的联合创始人,也是开发团队的指导者。他为Adobe系统,Zumba Fitness,《华尔街日报》,ESPN,BBC和顶级录音艺术家(包括Usher,Frank Ocean,Metallica等)的软件经验做出了贡献。
他与世界上最美丽的女人一起过着偏僻的生活方式。
(本文由闻数起舞翻译自Eric Elliott的文章《Top JavaScript Frameworks and Tech Trends for 2021》,转载请注明出处,原文链接:https://medium.com/javascript-scene/top-javascript-frameworks-and-tech-trends-for-2021-d8cb0f7bda69)
发表评论 (审核通过后显示评论):