当前位置: 首页 > 科技观察

2021年的JavaScript风云

时间:2023-03-12 18:51:44 科技观察

在Web开发的世界里,我们的世界瞬息万变,但我们能确定2021年会带来什么吗?通过仔细研究2020年开发人员调查的数据,我强调了我认为JavaScript最重要的方面。大故事将是什么。让我们深入挖掘并探索我从数据中获得的见解。PackageManagement去年我建议大家关注一下PNPM的兴起,它的目的是为了避免版本冲突,和monorepos很好的打交道。它有一些狂热的粉丝,去年在Github上达到了9500颗星,因此它显然赢得了开发者的青睐。但是,考虑到在项目中使用嵌入式Yarn和NPM,以及他们为发布新功能付出的努力,我认为2021年不太可能出现激烈的使用竞争。其中一些功能是直接为PNPM开发的,尤其是工作区。这只是表明竞争在推动开源软件向前发展方面的重要性。2019年,Cypress和Puppeteer作为高科技作品脱颖而出,2020年又双双获得成功。不过,微软带来了一款新的端到端测试工具Playwright,它似乎是突然出现,仅在2020年就获得了不到20,000星。作为世界上最大的软件公司之一,他们具有广泛营销其产品的影响力,但这只能部分解释该工具的受欢迎程度。主要原因是它的功能集和轻松迁移到Puppeteer的路径。自从纳德拉接任CEO以来,微软就养成了生产流行且功能强大的开源工具的习惯。VSCode有人知道吗?JavaScript的味道我去年说过TypeScript已经缓慢但肯定地接管了JavaScript世界,而且这种趋势正在加剧。无数开源项目热切地将其列为受支持的功能。Deno是2020年Github上最受欢迎的项目,它自带Typescript编译器。去年,我建议我们关注PureScript,因为它的静态类型以及对函数式编程的兴趣。然而,2020年的吸收并不那么强劲,Github上只有641个新星,兴趣下降了3%。从TypeScript与其竞争对手之间巨大的使用差距来看,感觉语言战争已经结束,微软的产品赢了。由于社区中多年的审议和语言过多,任何新人都很难引起我们的注意。看到社区聚集在这里,我感到很欣慰。现在,我们避免了不同超集的干扰,更多地关注语言本身。UI框架Vue是2019年的明星框架,在当时是个大新闻,传递了一个明确的信息:开发者喜欢它。2020年是同样的故事。不过,从NPM下载量来看,React的市场份额依然巨大。还有两个有用的指标:GitHub上的标签和招聘广告。目前在GitHub上有超过80,000个标记为“React”的存储库,而标记为“Vue”的存储库只有25,000个。看看就业市场,去年5月的CareerKarma报告称,在美国的Indeed.com上,React开发人员有1,000个职位空缺,而Vue开发人员只有1,025个。React无处不在,并且经受住了一些激烈的竞争。我无法在不提及Svelte和Angular的情况下结束本节。Angular仍然非常受欢迎——它去年获得了13,300个新星,并且每周在NPM上的下载量接近250万次。鉴于React的统治地位,这可能会让一些人感到惊讶,但统计数据值得认可。相比之下,Sweet非常年轻,但在JS状态满意度排行榜上名列前茅。然而,由于React和Vue开发人员的学习曲线陡峭,我预计它在2021年只会略有增长。后端这是一个复杂的领域,静态网站生成框架与API生产框架并列。如果我们将其分解并查看纯服务器框架,我们可以看到Express仍然以51,500颗星稳居第一。然而,Nest在2020年以惊人的10,300颗新星爆发,使其总数达到33,600颗。开发者对它情有独钟,是因为被它的舆论方式所吸引,可以加快开发速度,简化维护。哦,我有没有提到它使用TypeScript?就全栈框架的扩散而言,这个领域正在进行一场非常重要的战斗,因为它们对架构、性能和工作方式的影响是巨大的。NextJS和Gatsby这两个基于React的框架在使用方面仍然远比VueJS更受欢迎,但这只能证实我们已经了解的UI框架生态系统。真正引人注目的是盖茨比的满意度下降了多少。轶事证据表明其DX令人困惑,尽管网上有大量证据可以反驳这一说法。随着Vercel开发NextJS并将静态站点生成等功能添加到其工具库中,我认为它今年会越来越强大。目前在构建工具领域存在一些显着的竞争。尽管有抱怨,但Webpack的DevX长期以来一直是最高的,并且仍然是主要供应商中使用率最高的。去年,我们看到了Rome的挑战,今年,我们看到了esbuild、Snowpack和Vite进入新星榜单。Esbuild的使命很简单:加快构建时间。这显然对许多工程团队来说非常有价值,并解释了为什么要朝着这个方向发展。虽然GitHubstars是一个指标,但Snowpack在JS现状调查中名列前茅,但更重要的是,它是满意度的联合榜首。虽然使用率可能仍然很低,但我觉得是时候了。Snowpack和Vite的火爆传递了一个重要信息:原生ES模块正在受到社区的重视。这是一个很大的话题,因为它对构建过程、缓存和开发/生产模块对称性有影响。状态管理如果没有状态管理器,哪个UI框架会是完整的?撇开复杂性与面向未来的争论不谈,这个领域特别有趣,因为Redux从两个角度受到挑战:React本身和独立的新来者。从我个人的经验来看,我知道React的Hooks和ContextAPI有多么强大,但它们也有自己的局限性。无论哪种方式,它们都是React开发人员中的热门话题,几乎一半的前端玩家表示他们使用它们。总结在去年的文章中,我探讨了集成这个话题。经过多年的不同模式、框架和库,感觉我们正在调整模式和实践。虽然我认为这种趋势将在2020年继续,但很明显,JavaScript的流行导致市场上工具的激增,而这些工具以前是其他语言的专利;越来越多的端到端测试和机器学习工具说明了一切。2020年数据中出现的关键主题是JavaScript格局正在由大型软件供应商定义。微软的TypeScript正在成为一个行业标准,建立在它之上的项目更有可能成功,NestJS和NextJS(不要混淆)就是很好的例子。JAMStack方法的影响和对速度的需求也是因素,静态站点生成器和ESbuild等工具开始流行。由于功能、浏览器支持、运行时和不断扩展的数字领域的快速发展,JavaScript领域一直在扩展。