在Web开发中,我们的世界瞬息万变,但我们能否确定2021年会带来什么?通过仔细研究2020年开发人员调查的数据,我强调了我认为的JavaScript大故事创意。在进入细节之前,先快速了解一下JavaScript调查。遗憾的是,下一版的优秀前端工具调查暂时不会出现,这使得发现趋势变得更加困难。虽然我们可能正在缩小一项好的调查范围,但会弹出一个新的调查:前端的状态。虽然没有以前的年度数据可以帮助我们了解趋势,但它有来自世界各地的4,500名开发人员,因此它绝对是一种宝贵的资源。让我们深入研究并探索从数据中获得的见解。包管理工具去年我建议大家关注一下PNPM的兴起,它的目的是为了避免版本冲突,和Monorepos一起玩。它去年有一些热情的拥护者,在Github上达到了95,000颗星,因此它显然赢得了开发人员的支持。但是,考虑到嵌入式Yarn和NPM在实际项目中的应用情况,并且两者都有新功能,我认为它们不太可能在2021年认真竞争使用。其中一些功能直接响应PNPM,尤其是工作区的开发。这只是表明竞争在推动开源软件方面的重要性。Test2019、Cypress和Puppeteer重点介绍了2020年的高科技项目,并且都继续取得成功。然而,微软以Playright的形式带来了一种新的E2E测试工具,看似无中生有,而且仅在2020年才出现在20公升以下。作为世界上最大的软件公司之一,他们拥有广泛推广其产品的集群,但这只能部分解释该工具的受欢迎程度。主要原因是它的功能集和从Puppeteer轻松迁移的路径。>Playright在RisingStars测试框架排行榜上名列前茅,尽管在2019年根本没有出现在Nadella担任CEO后,微软养成了生产流行且功能强大的开源工具的习惯。vscode有人吗?JavaScript风格我去年说过Typescript正在缓慢但肯定地接管JavaScript世界;这种趋势已经加剧。无数开源项目热切地将其列为一项功能。Deno是2020年最畅销的GitHub项目,它带有一个内置的类型注释编译器。去年,鉴于对静态类型和函数编程的兴趣,我们专注于强制执行的Prescript。然而,2020年的采用并不那么广泛,GitHub上只有641个新星,兴趣下降了3%。看着TypeScript与其竞争对手之间巨大的使用差距,感觉语言战争已经结束,微软的产品正在获胜。经过多年的社区审议和语言过载的氛围,任何新人都很难引起我们的注意。这是我提出来看到社区融合的一个领域。现在,我们避免了不同超集的干扰,更多地关注语言本身。2019年最具特色的框架,UI框架Vue,在当时是个大新闻,传递了一个明确的信息:开发者喜欢它。2020年也是如此。但是,当我们查看NPM下载量时,React的市场份额仍然巨大。>过去一年的React下载量其他有用的指标:GitHub中的标签和广告作业。目前,GitHub上有超过80,000个标记为“React”的Repos,而标记为“Vue”的有25,000个。展望就业市场,去年5月CareersKarma在美国为React开发人员发布了10,005个工作岗位,而Vue.js开发人员只有1,025个工作岗位。React无处不在,竞争激烈。不提Svelte和Angular就不能下结论。Angular仍然很受欢迎——它去年获得了13300颗新星,并且每周在NPM上的下载量接近25亿次。考虑到React的主导地位,这可能会让一些人感到意外,但这些统计数据值得认可。身材苗条,很年轻,但是在JS状态中打出了满意度榜。但是,由于React和VueDevs的学习曲线陡峭,我预计它在2021年将在2021年获得适度增长。后端这是一个复杂的空间,静态站点的框架与API生产的框架并存。如果我们稍微分解一下,看看仅服务器框架,我们可以看到Express仍然有515,000颗星。然而,Nest在2020年爆发了惊人的10.3k新星,总数达到33.6k。开发人员采用它是因为他们固执己见,它可以加快开发速度并简化维护。哦,我有没有提到它使用Typescript?纵观全栈框架的激增,这个领域存在着一场非常重要的心灵之战,因为它们对架构、性能和工作方式有着如此巨大的影响。基于React的框架、NextJS和Gatsby在使用中仍然比对应的VueJS更受欢迎,但这只能证实我们已经看到了UI框架生态系统的样子。真正值得注意的是盖茨比的满意度下降了多少。轶事证据表明它有一个令人困惑的DX,尽管有大量证据可以在网上反驳它。使用Vercel开发的NextJS,并在其武器库中添加静态站点生成等功能,我只能看到今年的实力。构建工具目前在这个领域存在一些显着的竞争。尽管有人抱怨WebPack的DevX,但它长期以来一直占据主导地位,并且仍然拥有最高的主要使用率。去年,我们看到Rome挑战这个领域,今年我们有eSbuild、Snowpack和Vite登上星图。ESBuild的交换率很简单:加快构建时间。这显然对许多工程团队非常有价值,并解释了向它迈进的原因。>esbuild和Snowpack在StateofJS2020构建工具排行榜上并列第一虽然GitHubStars是一个指标,但Snowpack在StateofJS调查中并列第一,更重要的是,它在满意度图表之外并列第一。虽然使用率可能仍然很低,但我觉得是时候了。SnowPack和Vite的流行传递了一个重要信息:原生ES模块受到社区的重视。这是一个很大的话题,因为它会影响构建过程、缓存和dev/stim模块对称性。状态管理如果没有配套的状态管理,UI框架会怎样?撇开复杂性辩论和未来验证不谈,这个领域特别有趣,因为Redux正受到来自两个方面的挑战:来自React本身和来自独立的新来者。根据个人经验,我知道React的钩子和上下文API非常强大,但它们确实有其局限性。无论哪种方式,它们肯定会在React开发人员中大受欢迎,几乎一半的前端玩家表示他们使用它们。>StateofFrontEnd2020SurveyStateManagementCategoryConclusion在去年的文章中,我探讨了整合的话题。经过多年不同的模式、框架和库,感觉我们在模式和实践上是一致的。虽然我觉得这种趋势在2020年还会继续,但很明显,JavaScript的流行导致了以前保护其他语言市场的工具的出现;越来越多的E2E测试和机器学习工具说明了这一点。2020年数据中出现的关键主题是大型软件供应商定义了JavaScript格局。微软的Typescript正在成为行业标准,基于它构建的项目成功的机会更大,Nest和NextJs(不要混淆)就是很好的例子。Jamstack方法的影响和对速度的需求也是因素,静态站点生成器和eSBuild等工具很快就脱颖而出。在快速发展的推动下,在功能、浏览器支持、运行时和不断扩展的数字视野的推动下,JavaScript全景图不断扩大。原文链接:https://javascript.plainenglish.io/the-javascript-landscape-in??-2021-573d5e7a43c6
