
JS 2023 状态报告:从急剧左勾拳中奋力反击
Storybook 如何使用调查来指导开发

🎶 我被击倒,但我又站起来。你永远无法击倒我。🎶 - Chumbawumba
在过去的八年里,JS 状态调查通过调查 20,000 多名开发者,捕捉了前端趋势。《2023 年结果》新鲜出炉,显示 JavaScript 生态系统正处于变化之中。
作为 Storybook 的维护者,它是调查中提到的软件包之一,这些结果对我来说尤为重要。Storybook 是行业标准的 UI 组件工作台,被 OpenAI、MongoDB 和 Datadog 等团队使用。
接下来是对 JS 状态的详细分析:它如何指导我们理解生态系统,我们过去如何使用它,以及我们在最新结果中看到了什么。
😵 JS 状态:致命的左勾拳
JS 状态报告充满了精美执行的可视化图表。我最喜欢的是“随时间的变化”。它在一张图中捕捉了 JS 生态系统的过去、现在和可能的未来

这密集的曲线团是一场受欢迎程度竞赛,JS 库争夺右上象限的正面评价和高使用率。以 Vite 和 Webpack 为例,它们是生态系统中最受欢迎的两个构建工具


JS 状态 2023 中的 Vite 与 Webpack
Vite 是 2023 年调查中无可争议的明星。它的黄金轨迹始于 2021 年的高评价和相对较低的使用率,并在过去两年中迅速上升到右上方,这归功于出色的性能、简洁的配置以及对现代标准的支持。
与此同时,Webpack 在图表顶部划出了一条醒目的轨迹,从 2017 年的正面评价和高使用率开始,然后向左钩,先是缓慢地,然后急剧地下降。它仍然是基础设施的核心部分,但由于 Vite 发展壮大的所有原因,人们的评价已经变差。虽然它继续为世界上一些最重要的软件提供动力,但它正在逐渐退出舞台,无论是比喻意义上,还是在这个图表中,字面意义上都是如此。
Webpack 不是唯一向左钩的软件包。重量级选手 Jest 和 React 似乎也在遵循相同的轨迹。Jest 的左钩很容易用 Vitest 的崛起来解释,Vitest 是 2023 年的另一个大赢家。React 更难解释。“前端框架”类别中最接近巨头的是 Svelte,但即使它也似乎略微向左钩!


JS 状态 2023 中的 React 和 Jest
🏳️ 2022 年:一个岌岌可危的项目
当 Storybook 在 2022 年急剧左钩时,我们很担心。从过去的结果来看,没有一个项目在受到左钩后能够恢复并走上向右上方的道路。

2022 年的结果并不令人意外。在 2022 年末,Storybook 的稳定版本 6.5 正面临速度、安装体积、兼容性和稳定性方面的挑战。它还基于 Webpack 4,该版本已落后一个版本,已经向左钩,并且正处于自身的死亡螺旋之中。
❤️🩹 2023 年:扭转局面
我们在 2023 年实现了扭转,其中包括一流的 Vite 支持、一流的 Next.js 支持、修复我们的依赖结构以支持 pnpm、提高性能,以及普遍针对社区的主要抱怨。所有这些都在 2023 年初的 Storybook 7 中落地,受到了社区的热烈欢迎。
我们仍然不得不等待一年多才能看到 2023 年 JS 状态结果的更广泛抽样。那么我们做得怎么样呢?

2023 年直线向上!虽然评价同比保持稳定,但我们认为这是一个胜利。这不仅对于以前向左钩的库来说是不正常的,而且我们相信社区的质量标准在过去一年中有所提高(这要归功于像 Vite 这样的优秀工具)。
因此,保持原地不动意味着 Storybook 的改进速度与标准提高的速度一样快。
与此同时,使用量增长,使我们跃升到令人垂涎的右上象限,同时还有其他七个令人惊叹的工具(React、Jest、Vite、Next.js、tsc、Vue 和 esbuild)。
🥊 2024 年:承受打击
尽管 2023 年成功扭转了局面,但仍有工作要做。以下是调查中的主要批评以及我们如何解决这些问题
依赖项 (12 👎)。 用户抱怨臃肿 (8 👎) 和过时的依赖项 (4 👎)。我们解决了过时的依赖项问题,并认为这些评论来自早期 7.0 之前版本的不良体验。至于臃肿,我们正在积极努力减少我们的安装体积,并希望发布一个大大精简的 Storybook 9。
维护 (11 👎)。 用户抱怨设置 (3 👎)、升级 (6 👎) 和通常维护 (2 👎) Storybook 的困难。我们承认,维护 Storybook 一直是用户面临的挑战。自 2023 年调查以来,我们投入了大量资金用于*自动迁移*,即通过代码模组和其他自动化辅助版本升级的小段代码。在 8.x 中,我们正在投入精力使设置新的 Storybook 更加容易。例如,我们在 8.1 中为交互式故事生成引入了 UI。
为 Avatar 组件创建新故事
非 React 框架 (8 👎)。 用户抱怨对非 React 框架的支持,包括 Vue (3 👎)、Angular (2 👎)、Svelte (1 👎) 和 HTML (1 👎)。Storybook 7 中最大的挫折之一是 React 对等依赖,它是为支持 pnpm 而添加的。值得庆幸的是,我们在 8.0 中能够删除此要求。
文档 (6 👎)。 一些用户抱怨 Storybook 的文档。在这方面总是有工作要做,但我们一直在继续投资于文档改进和平台。点击此处查看!

Bug (5 👎)。 最后一类抱怨是 Storybook 的质量和稳定性。像 Storybook 这样的大型 OSS 项目是问题的无限源泉。我们已经壮大了我们的核心团队,并在每个版本中不断解决最严重的 bug。
🏆 虎之眼
2024 年,我们摆脱困境,重新开始发展 Storybook。我们通过积极创新才走到今天。我们为此暂停了近两年,以偿还技术债务并解决当之无愧的批评。
现在我们又回到了构建新想法、使构建和维护 Storybook 更容易,以及创建组件测试超能力,让您对 UI 更有信心的道路上。
Storybook 8.1 是我们最新的稳定版本,与 JS 状态 2023 中回顾的过去版本相比,它包含了无数的改进。Storybook 8.2 即将推出,包含
- 语法改进,使 CSF(Storybook 的文件格式)与现有的 Jasmine 风格单元测试达到同等水平。
- 全新的入门流程,帮助新用户比以往更快地学习 Storybook。
- 包结构重组,减少安装大小/时间,是消除依赖冲突的巨大一步。
查看 Storybook 的路线图,了解正在考虑和进行中的项目概览。
立即试用 Storybook
Storybook 的最新稳定版本是 8.1。要在新项目中试用它
npx storybook@latest init
或者升级现有项目
npx storybook@latest upgrade
Storybook 在 2023 年 JS 状态结果中备受瞩目!
— Storybook (@storybookjs) July 2, 2024
结果对我们非常重要,因为它们是维护者了解生态系统脉搏的一种方式。
此推文分析了结果以及我们如何采取立即行动来发展 Storybook。pic.twitter.com/qGXWCNMARX