返回博客

JS 2023 状态报告:从急剧左勾拳中奋力反击

Storybook 如何使用调查来指导开发

loading
Michael Shilman
@mshilman
最后更新
🎶 我被击倒,但我又站起来。你永远无法击倒我。🎶 - Chumbawumba

在过去的八年里,JS 状态调查通过调查 20,000 多名开发者,捕捉了前端趋势。《2023 年结果》新鲜出炉,显示 JavaScript 生态系统正处于变化之中。

作为 Storybook 的维护者,它是调查中提到的软件包之一,这些结果对我来说尤为重要。Storybook 是行业标准的 UI 组件工作台,被 OpenAI、MongoDB 和 Datadog 等团队使用。

接下来是对 JS 状态的详细分析:它如何指导我们理解生态系统,我们过去如何使用它,以及我们在最新结果中看到了什么。

😵 JS 状态:致命的左勾拳

JS 状态报告充满了精美执行的可视化图表。我最喜欢的是“随时间的变化”。它在一张图中捕捉了 JS 生态系统的过去、现在和可能的未来

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

Vite 是 2023 年调查中无可争议的明星。它的黄金轨迹始于 2021 年的高评价和相对较低的使用率,并在过去两年中迅速上升到右上方,这归功于出色的性能、简洁的配置以及对现代标准的支持。

与此同时,Webpack 在图表顶部划出了一条醒目的轨迹,从 2017 年的正面评价和高使用率开始,然后向左钩,先是缓慢地,然后急剧地下降。它仍然是基础设施的核心部分,但由于 Vite 发展壮大的所有原因,人们的评价已经变差。虽然它继续为世界上一些最重要的软件提供动力,但它正在逐渐退出舞台,无论是比喻意义上,还是在这个图表中,字面意义上都是如此。

Webpack 不是唯一向左钩的软件包。重量级选手 Jest 和 React 似乎也在遵循相同的轨迹。Jest 的左钩很容易用 Vitest 的崛起来解释,Vitest 是 2023 年的另一个大赢家。React 更难解释。“前端框架”类别中最接近巨头的是 Svelte,但即使它也似乎略微向左钩!

🏳️ 2022 年:一个岌岌可危的项目

当 Storybook 在 2022 年急剧左钩时,我们很担心。从过去的结果来看,没有一个项目在受到左钩后能够恢复并走上向右上方的道路。

关于 Storybook 的评价在 2022 年转为负面

2022 年的结果并不令人意外。在 2022 年末,Storybook 的稳定版本 6.5 正面临速度、安装体积、兼容性和稳定性方面的挑战。它还基于 Webpack 4,该版本已落后一个版本,已经向左钩,并且正处于自身的死亡螺旋之中。

❤️‍🩹 2023 年:扭转局面

我们在 2023 年实现了扭转,其中包括一流的 Vite 支持、一流的 Next.js 支持、修复我们的依赖结构以支持 pnpm、提高性能,以及普遍针对社区的主要抱怨。所有这些都在 2023 年初的 Storybook 7 中落地,受到了社区的热烈欢迎。

我们仍然不得不等待一年多才能看到 2023 年 JS 状态结果的更广泛抽样。那么我们做得怎么样呢?

关于 Storybook 的评价保持稳定,而使用量增加

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。

0:00
/0:15

为 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 即将推出,包含

  1. 语法改进,使 CSF(Storybook 的文件格式)与现有的 Jasmine 风格单元测试达到同等水平。
  2. 全新的入门流程,帮助新用户比以往更快地学习 Storybook。
  3. 包结构重组,减少安装大小/时间,是消除依赖冲突的巨大一步。

查看 Storybook 的路线图,了解正在考虑和进行中的项目概览。

🆕
Storybook 现在附带了视觉测试,以便您可以在快速、一致的云环境中跨多个浏览器和视口快速检查您的故事。

立即试用 Storybook

Storybook 的最新稳定版本是 8.1。要在新项目中试用它

npx storybook@latest init

或者升级现有项目

npx storybook@latest upgrade

加入 Storybook 邮件列表

获取最新的新闻、更新和版本

6,730位开发者及更多

我们正在招聘!

加入 Storybook 和 Chromatic 背后的团队。构建被数十万开发者在生产环境中使用的工具。远程优先。

查看职位

热门文章

Storybook 8.2

迈向不妥协的组件测试
loading
Michael Shilman

Storybook 中的组件测试

UI 测试的未来
loading
Michael Shilman

视觉测试:UI 开发中最伟大的技巧

以更少的维护获得更多信心
loading
Michael Shilman
加入社区
6,730位开发者及更多
为什么为什么选择 Storybook组件驱动的 UI
文档指南教程ChangelogTelemetry
社区插件参与进来博客
案例展示探索项目组件词汇表
开源软件
Storybook - Storybook 中文

特别感谢 Netlify CircleCI