第27章 Flutter 包用户需求调研:基于 Q2 数据的发现
Flutter 包用户需要什么?来自第二季度用户调研的发现
了解 Flutter 开发者如何发现、评估和使用包的调研结果。
JaYoung Lee 2019年7月25日 · 7 分钟阅读
rss_feed 分享到 X 分享到 Bluesky 分享到 LinkedIn
用第二季度调研评论制作的词云 ☁️(原图和代码链接)
我们最近完成了第六次季度用户调研,收集了超过 7,000 名 Flutter 用户的反馈。92.5% 的受访者表示满意或非常满意,比上季度略高!看到 Flutter 的满意度持续保持高位,我们非常激动。本文将深入探讨一些关于 Flutter 生态的问题——我们深知,帮助 Flutter 社区壮大生态非常重要。
截至 2019 年 7 月,pub.dev 上已有超过 2,800 个依赖 Flutter 的包。而去年同期只有约 350 个,增长极为迅猛!这还不包括数千个与 Flutter 应用兼容的额外 Dart 包。
尽管生态爆发式增长,我们仍意识到,要围绕 Flutter 打造一流生态,还有大量工作要做。为了更好地了解用户的需求和痛点,本季度的调研包含了多个与 Flutter 生态相关的问题。我们将结果分享出来,帮助包作者打造更有用、能服务更多用户的包。
在 5,250 名受访者中,总体上 80.6% 对 Flutter 生态表示满意或比较满意。这个成绩不算差,但同时也是整个调研中得分较低的项目之一。
对生态的满意度
对 Flutter 的总体满意度
在关于对 Flutter 生态不满原因的问题中,选择最多的原因是“我需要的关键包还不存在”(18%)——对一项相对较新的技术来说,这也许在情理之中。
不过让我们欣慰的是,社区正在积极为 Flutter 包生态添砖加瓦。15% 的受访者有开发 Flutter 包的经验,59% 已将包发布到 pub.dev——一个用于分享 Flutter 和 Dart 应用包的网站。如果你写好了包但还没发布,可以阅读 flutter.dev 上的《Developing packages & plugins》文档,通过发布包来回馈 Flutter 社区。这并不难——在已发布到 pub.dev 的受访者中,81% 认为发布非常容易或比较容易。
如果你拿不定主意该为 Flutter 社区分享什么包,可以到 GitHub 上的 Flutter 仓库搜索带有“would be a good package”标签的 issue,看看大家都有哪些需求,还可以为你喜欢的需求点赞来提升其关注度。
对 Flutter 生态不满的原因(多选题)
不过,如果你有兴趣出力,还有更好的贡献方式。注意,其他不满原因都以“我需要的关键包确实存在……”开头,也就是说即便包已经存在,包用户依然面临各种挑战。这告诉我们,改进现有内容同样能优化生态——比如提交 bug、完善文档、补齐缺失功能、实现对“另一个”平台的支持、添加测试等等。不妨找一个有潜力但还不够完善的包,用测试、bug 报告、功能贡献或示例代码来为它做贡献!
对现有包不满最常见的原因是“文档不够完善”(17%)。这也是社区可以出力的地方。在“你希望做些什么来改善包生态的整体体验?”这个问题中,我们收到了以下建议:
提供更多样化的代码使用示例 附上截图、动图(GIF)或视频 附上对应代码仓库的链接
以下是评论区的一些相关引述:
“有些包的首页连代码示例都没有。至少应该强制要求包含一个简单的示例。”
“希望强调包开发者提供更详尽的使用示例。”
“建议强制所有包都附上动图或视频演示(首选)或截图,并提供示例 Dart 文件。”
“示例包的图形化展示会很有帮助。很多时候,看一眼包的效果比跑示例更容易理解。”
“希望 Example 部分能更常被填写。有些包完全没有示例。能不能在这个页面上放一个更醒目的链接指向对应的 GitHub 仓库?”
另外,如上图所示,与实际使用包相关的困难(如依赖问题、包的 bug、包的配置)相对来说不如选包过程中的问题(如功能缺失、发布者的可信度、选择指导、足够的平台支持)那么让用户困扰。
Google 的 Flutter/Dart 团队也在研究改善使用和贡献生态体验的方法。正在考虑的方案包括但不限于:
提供更好的 pub.dev 搜索体验 让人一眼看出包支持哪些平台 提供更可靠的质量指标 改善可测试性
与此同时值得指出的是,pub.dev 上的每个包都有流行度、健康度和维护度三个评分,帮助用户衡量包的质量。评分系统的详情见 pub.dev/help#scoring。
评分示例
维护建议
借助评分系统,包作者可以了解如何提升包的质量,包用户也能大致判断包的质量(比如是否过时)。
我们预计评分体系会随时间不断完善,帮助用户做出更明智的选择。具体来说,我们希望加入测试覆盖率指标,并公开更好的平台覆盖信息,尤其是在 Flutter 支持的平台不断增多的情况下。我们还计划提供“推荐”标识,让用户清楚地知道哪些包是 Flutter 社区认为值得考虑的。随着评分机制的更新,我们会及时与包作者沟通,确保他们掌握达到新质量标准所需的全部信息。
衷心感谢参与这份长问卷的 7,000 多名 Flutter 用户。我们收获良多——其他一些要点如下:
一些 Flutter 用户对动画框架并不完全满意,不是因为难以实现预期效果,而是因为难以入门。受访者(尤其是新用户)不知道从何下手,也难以理解各种概念之间的关联。因此,我们正在加大对动画框架学习资料的投入。
对于 api.flutter.dev 上的 API 文档,类文档中的示例代码被评为最有用的资源。我们已在 1.7 版本中为部分 API 文档类添加了完整代码示例,并会继续扩展到更多类。(我们也欢迎大家在 flutter/flutter 仓库向 API 文档提交 PR!)
最后,很多人注意到 GitHub 仓库中未解决的 issue 数量在增加,这是 Flutter 爆发式流行带来的不幸副作用。虽然我们在上一个版本中关闭了超过 1,250 个 issue,但仍有大量工作要做。正如 Flutter 1.7 博文中所提到的,我们正在增加这方面的人手,以便更快地分类新 bug、更快地关注严重/崩溃问题、关闭和合并重复 issue,并将支持请求引导到 StackOverflow。
我们非常重视大家对调研的反馈,并将据此确定工作优先级。请参与将于 8 月启动的第三季度调研,届时将探索新的主题领域。
Flutter 的 UX 研究团队会开展各类用户体验研究,以便了解如何让你的 Flutter 体验更愉快。如果你有兴趣参与,请报名参加未来的研究。
更多来自 Flutter 的内容
Genkit Dart 1.0 正式发布:用 Dart 和 Flutter 构建生产级 agentic 应用 Genkit Dart 是一个开源框架,用于用 Dart 和 Flutter 构建AI 功能和 agentic 工作流,现已发布稳定版 1.0。 Chris Gill 2026年10月8日 · 6 分钟阅读
Material 与 Cupertino 解耦正式落地 为什么将 Material 和 Cupertino 从 Flutter 核心中拆分出来能加速修复和新功能开发 Craig Labenz 2026年9月9日 · 4 分钟阅读