返回博客

2019 年 Storybook 状态报告

社区、产品和生态系统的突破之年

loading
Michael Shilman
@mshilman
最后更新

Storybook 是地球上最受欢迎的 UI 组件工作台。

它为 Airbnb、Lyft、Slack、Twitter 和数千家公司的前端开发提供支持。它被用于构建顶级的设计系统,如 Shopify Polaris、IBM Carbon 和 Salesforce Lightning。

感谢我们充满活力的社区,该项目在各个方面都呈爆炸式增长。我们的产品正在快速改进,并按常规发布周期进行迭代。设计和开发生态系统中的工具现在都集成了 Storybook。

如果您是一位前端开发人员,这是一个好消息。这意味着即使 UI 工程的质量、性能和复杂性预期不断提高,您也可以长期依赖这个标准工具。

随着年底临近,现在是盘点的好时机。本文回顾了我们在 2019 年的开源之旅,并庆祝了重要的项目里程碑。您还将抢先预览明年的计划。


👩‍💻 Storybook 的社区蓬勃发展

Storybook 的社区是其生命线和最大的优势。该项目围绕其用户展开,由其维护者推动前进,并因其赞助商而得以持续。我们已经看到了各个方面的巨大增长。

框架使用蓬勃发展

长期以来,Storybook 一直是 React 开发人员的热门选择,@storybook/react 每月 NPM 下载量超过 400 万次。仅此一项就为该项目在 Github 上赢得了超过 44,000 个星标,并使其成为前端开发领域的领导者。

2019 年的新变化是 Storybook 框架子社区的重大增长

Storybook 框架子社区每月 NPM 下载量

看到这些社区获得临界质量令人兴奋。领先的是 Vue 版 Storybook(同比增长 309%)、React Native 版(168%)、Angular 版(420%)和 HTML 版(893%)。这种增长转化为一个更有用和更强大的平台。每次有人添加功能或修复错误,每个人都会受益,无论他们选择哪个框架。

增长最快的开源社区之一

如果没有成千上万使用 Storybook 的人、提交错误、帮助其他用户、改进代码/文档、提供支持和反馈,以及以其他方式向世界宣传它,Storybook 如此规模的项目将无法运作。

值得庆幸的是,我们的用户增长也转化为大量新的贡献者。根据 Github 的 2019 年 Octoverse 状态报告,Storybook 是世界上第九个增长最快的开源社区

Storybook 现在拥有 860 多名贡献者,他们来自除南极洲以外的每个大陆。该团队不仅人才济济,而且由开源领域一些最友好、最乐于合作的人组成。

新的维护者。 社区的增长帮助我们增加了新的项目维护者。Storybook 面临着维护数百个插件和集成 (M) 跨越数十个不同框架 (N) 的“M x N 问题”。我们庞大的社区有助于保持项目的稳定,并在我们所有框架中提供用户支持,即使产品快速发展。

更好的文档。 社区的增长也帮助我们改进了文档,这对于项目的成功至关重要。Storybook 的网站得到了彻底的改版,新网站令人赏心悦目!我们还升级了 Learn Storybook,这是 Storybook 为专业开发人员提供的免费指南集合,其中包含新的教程和翻译。

  • 新的 9 章教程:面向开发人员的设计系统
  • 支持的框架:React、Vue、Angular、React Native、Svelte
  • 本地化:英语、西班牙语、葡萄牙语、荷兰语、简体中文

赞助商使 Storybook 可持续发展

最后,Storybook 从赞助中获益匪浅。我们感谢来自 Airbnb、Applitools、Facebook、Chromatic、Xebia 等公司的 open collective 捐款,估计每年有 25,000 美元。

Chromatic 提供企业管理,自 2017 年以来,其团队为该项目提供了技术领导,并在 2019 年贡献了一半以上的提交。


🖼 Storybook:让开发人员更高效

Storybook 在 2019 年取得了突飞猛进的进步。社区努力提升平台的各个方面,使前端开发人员比以往任何时候都更高效。

只需查看一年中不同时间点的几张屏幕截图,即可了解 Storybook 的快速演变

全新的 UI

我们在今年年初发布了 Storybook 5.0,对 Storybook 的 UI 进行了全面改版。外观和感觉由我们的新设计师 Dominic Nguyen 精心打造。从高级 UI 到核心插件的细节,都通过他熟练的技巧得到了改进

5.0 也为 Storybook 作为开源平台奠定了基础。Norbert de Langen 创建了插件与 Storybook 集成的新方法,例如工具栏按钮和选项卡窗格,并使 Storybook 可主题化。

组件文档的未来

我们在 2019 年的第二个主要推动力是为 Storybook 的文档功能提供强大的支持

今年早些时候,我们 阐述了一个愿景,即让 UI 文档的创建和维护变得非常简单。我们通过官方的 Storybook Docs 插件、参考实现和指南兑现了这一承诺

持续的架构演进

Storybook 在其架构方面也取得了重大进展。基础设施的改进使产品更易于使用,帮助我们更好地与更广泛的生态系统互操作,并提高性能。

2019 年的重大胜利包括

  • 组件故事格式 (CSF) 是一种干净且完全可移植的方式,可以使用标准 ES 模块编写组件示例 stories。它允许在 Jest 和其他测试工具中导入 stories,并正在被设计和开发领域的其他工具采用。
  • 声明式配置 是一项类似的努力,旨在显着简化 Storybook 的配置,提高性能,并帮助 Storybook 与其他工具互操作。
  • Typescript。 我们将 Storybook 的代码库移植到 TypeScript,并改进了对最终用户的 TS 支持,以跟上今年该语言的普及速度。

Storybook 的满意度翻倍

归根结底,这些改进的存在是为了让 Storybook 用户更快乐、更高效。我们做到了!

我很高兴地报告,快乐用户的百分比——使用 Storybook 并且会再次使用的开发人员——在 2019 年翻了一番多,从 15.4% 增加到 32.2%。这些结果来自 State of JS 2019,这是对 20,000 多名 Javascript 开发人员进行的年度调查。


🌎 Storybook 蓬勃发展的生态系统

Storybook 广泛的框架插件生态系统为您提供了更多自定义和调整 Storybook 以适应团队工作流程的方式。

超过 30,000 个项目使用 Storybook

GitHub 包统计数据显示,Storybook 现在被超过 30,000 个公共存储库使用——更不用说无数依赖我们的私有存储库了。

Storybook 早期成功的关键之一是 create-react-app 的推荐,create-react-app 是用于搭建 React 应用程序的最流行的工具。在 2019 年,我们看到更多的框架采用 Storybook 作为他们推荐的 UI 组件浏览器

插件满足开发人员可能想要的一切

Storybook 拥有满足一切需求的插件。插件使开发人员能够自定义 Storybook 的开发人员体验,以适应他们独特的工作流程。

我们一直以丰富的插件支持而闻名,但 2019 年是一个转折点。今年,Storybook 成为设计工具的标准集成点。首先,InVision 将 Storybook 支持内置到 Design System Manager 中。现在,每个主要设计工具都有插件,包括 Sketch、Figma、Zeplin、Abstract 和 Adobe XD。


🚀 2020 年,我们来了!

2020 年的总体主题是 Storybook 作为一个平台。优秀的平台使团队、工具和服务能够轻松接入。平台一个领域的改进使每个用户和集成商受益。这创造了一个良性循环,Storybook 的发展速度比任何人都独自完成的速度更快。

社区

我们的目标是使维护更可持续。对于大多数人来说,为 Storybook 做贡献是一种爱的奉献。我们需要更轻松地分担支持、错误和改进的负担,以便维护者不会精疲力竭,并且项目可以继续增长。因此,我们正在构建一个维护者支持网络,以帮助特定于框架的贡献者构建和管理子社区。

产品

Storybook 在改进平台架构的同时,增加了节省工作的功能,在这方面有着良好的记录。明年,我们将继续保持这一传统,更新 Storybook 的发布方式、改进对多个框架的支持、性能升级以及众多核心功能改进。

生态系统

我很高兴彻底改进 Storybook 对插件用户和作者的体验。作为用户,您将能够发现更多插件来提高您的工作效率。作为插件作者,您将获得更多支持来构建插件并将其分发给整个社区。


🙏 谢谢!

Storybook 已成为数万名 UI 工程师必不可少的工具。我们在 2019 年取得的令人难以置信的进步证明了社区的强大。我们期待明年带来更多好消息!

特别感谢

特别感谢我敬业的指导委员会队友 Filip RiabchunIgor DavydkinNorbert De LangenTom Coleman,感谢他们帮助 Storybook 保持正轨。并向这些出色的维护者致敬,感谢他们今年做出的巨大贡献

2019 年每位 Storybook 贡献者 🙏@8beeeaaat @9renpoto @aaron-pool @adamdoyle @adamyonk @adrian-potepa @aej11a @afebbraro @afholderman @alanhchoi @alazurenko @andersos @aokiken @apanizo @apust @aromanarguello @arthurdenner @atanasster @b0c4j @baraalex @beizhedenglong @benoitdion @billfeller @bpeab @bqrichards @brandonchinn178 @canercandan @carolstran @chaseadamsio @christiancooksponge @christianliebel @christoph-fricke @christophe-g @chrsep @codebyalex @collingreen @crimx @crubier @ctavan @dakmor @danielduan @danrha @darmawanalbert @darondel-yoobic @dbendaou @dhuang612 @discostarslayer @domjacks @domoritz @domyen @donaldpipowitch @donysukardi @dsusskind @dylanpiercey @edelgado @edumoreira1506 @emilio-martinez @enagy27 @enuvid @ericcarboni @ewgenius @expe-lbenychou @ezhikov @fabianmarinog-turner @fabiradi @fforres @frederickfogerty @gaetanmaisse @gaspardip @ghengeveld @gherciu @ghondar @gongreg @good-idea @halitogunc @hansottowirtz @hasparus @hcz @himynameisdave @hipstersmoothie @hobroker @hypnosphi  @igor-dv @indigolain @jack-barry @jamesdbruner @jamesgeorge007 @jasdeepgill @jb9229 @jballin @jeffgukang @jerriclynsjohn @jessica-koch @jimmydalecleveland @joeycozza @jounqin @juliamitchelmore @jung-han @just-boris @kamahl19 @karlsander @kerbe @kerumen @kevinsuttle @kroeder @kush @kylemh @lazaroonline @lebenleben @leoyli @libetl @lonyele @lucas-burdell-karmak @lucasterra @luchanso @macrozone @mariocadenas @mathiasrando @matt-tingen @mattfelten @matthewliuswims @meirish @michaeldeboey @mrmckeb @natalia504 @naturalclar @nchudleigh @ndelangen @ndom91 @necolas @nminhnguyen @nutboltu @nzacca @pascaliske @patricklafrance @patrickteivas @pau1fitz @peeja @pierroberto @pittan @pksunkara @pmmmwh @pocka @qazzian @quentind @quramy @ramkrish2079 @rbardini @rembrandtreyes @resource11 @rmccue @robaxelsen @roydipti23 @rwieruch @rwoverdijk @sairus2k @sakito21 @schalkventer @shiatsumat @shilman @siadcock @simenbrekken @slaviczavik @smasontst @spencerbyw @squidfunk @steel @stephanemw @stereodenis @stnamring @stof @stowball @superpencil @svewag @taimoormk @testerez @thebuilder @thollander @tmeasday @tylerlee @victorgb6 @wa4-fearless-otter @xmile1 @xyshaokang @yankovsky @yosefalnajjarofficial @zaccc123

加入 Storybook 邮件列表

获取最新消息、更新和发布

6,730位开发人员以及更多

我们正在招聘!

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

查看职位

热门文章

面向新框架的 Storybook 文档

Vue、Angular、Web 组件和 Ember 的最佳实践文档
loading
Michael Shilman

声明式 Storybook 配置

使用单个 main.js 文件配置您的 Storybook
loading
Norbert de Langen

使用 Storybook MDX 的丰富文档

组件和文档终于和谐共处
loading
Michael Shilman
加入社区
6,730位开发人员以及更多
为什么为什么选择 Storybook组件驱动的 UI
文档指南教程更新日志遥测
社区插件参与其中博客
案例展示探索项目组件词汇表
开源软件
Storybook - Storybook 中文

特别感谢 Netlify CircleCI