查看原文
其他

Flutter 季度调研结果分享 | 聚焦多平台开发者关注的问题

Flutter 谷歌开发者 2021-10-13

作者 / Flutter 用户体验研究团队 (JaYoung Lee, Youyang Hou, Jack Kim, Tao Dong)


2020 年 8 月,Flutter 团队启动了第 10 次季度用户调研。在 10 天时间里,全球共有 7,668 位用户参与了调研。每位用户花费大约 7.4 分钟完成问卷,也即是说这次调研总用时相当于 39.4 天的开发者时间。我们非常感谢大家花时间提供反馈,也希望通过本文分享本次调研的结果。

和之前的调研一样,我们询问了开发者对 Flutter 各个部分的满意程度。本季度,我们还重点收集了更多主题的反馈,例如 Flutter web、Sliver widgets (用于实现丰富滚动效果) 以及平台特定的调试问题。我们接下来将深入探讨每个主题。


汇总


  • 总体而言,94% 的受访者对 Flutter 表示满意 (PSAT),58% 的受访者表示非常满意 (VSAT)。PSAT 保持稳定,VSAT 持续增长。

  • 为公司工作的用户比例从 26% 增加到 31%。高级用户的比例也在上升。

  • 过去 3 个月在 web 平台上使用过 Flutter 的用户中,59% 的用户对 Flutter 的性能表示满意。71% 的用户对 Flutter 在 web 端创建契合平台风格的界面的能力表示满意。

  • 在想用 Sliver 实现丰富滚动效果的用户中,有 79% 实际进行了尝试。最大的问题是难以找到符合需求的 widget (36%)。

  • 71% 的用户调试过平台特定问题。常见问题存在于工具 (32%)、视觉差异 (28%) 和依赖项管理 (28%)。



满意度和用户群变化


本季度,对 Flutter 感到非常满意的用户比例创下历史新高,达到 58%。总体而言,在社区规模呈指数增长的情况下,用户仍然对 Flutter 感到满意 (94%)。下图为 Flutter 满意度随时间推移的发展情况。

△ 对于 "总体来说,您对 Flutter 的满意度如何?" 的提问,58% 的用户选择了 "非常满意"

我们的用户群发生了一些明显变化。首先,为公司工作的用户比例从第一季度和第二季度的 26% 大幅增加到 31%,为初创团队工作的用户比例则稳定在 35% 左右。

△ Flutter 用户大部分供职于创业团队,而为企业工作的开发者比例从 26% 大幅增加到 31%

另一个明显变化是对 Flutter 的使用经验。如下图所示,新手用户的比例随时间下降,而高级用户的比例随时间增加。这意味着我们在社区中拥有更多经验丰富的用户,这些用户可以与新手用户分享知识。如果您喜欢学习或分享知识,欢迎与其他 Flutter 开发者在线沟通: 访问 flutter.dev 上的社区汇总页面即可加入您感兴趣的社区。

△ 高级用户的比例不断增加


  • Flutter 社区汇总页面
    https://flutter.cn/community



Flutter web


Flutter 除了在 stable 渠道支持移动端开发,在 beta 渠道也支持 web 端的开发。在此次调研中,我们就性能、web 端体验、工作流和文档方面的特定问题询问了目前已经在使用 Flutter 构建 web 应用的开发者,以便优先解决重要问题。


受访者们积极使用 Flutter 构建 web 应用。15% 的受访者已经评估了 Flutter web 的潜在生产用途、11% 已经构建了示例应用,7% 则发布了正式版应用,约占受访者三分之一的比例。如下图第三行蓝色部分所示。

△ 33% 的受访者 (4,449 位中的 1,468 位) 在使用 Flutter web。15% 表示已经评估了 Flutter web 的生产用途,11% 已经构建了示例应用,7% 已经发布了正式版应用

更具体地说,在兼具移动和 web 开发经验的用户中,有 29.5% 的用户在过去三个月中尝试在生产环境中使用 Flutter web。这一比例因开发者过去的平台经验而有所不同。数据表明,只有 web 平台开发背景的受访者正尝试用 Flutter 来替代他们的 web 开发框架 (22% 的此类受访者尝试过在生产环境使用 Flutter web),而只有移动开发背景的受访者则会积极尝试用 Flutter web 打开 web 开发的大门 (16% 尝试过 Flutter web)。

△ 过去 3 个月内,尝试将 Flutter web 用于生产的用户比例因其过去在移动和 web 平台上的经验而有所不同
Flutter web 团队还收集了关于创建 web 端体验的各种问题的反馈。首先,我们了解到,受访者认为浏览器导航和路由历史 (55%)、复制/粘贴选定文本 (34%)、滚动物理效果 (33%) 和选择任意文本 (32%) 是创建 web 端体验的最关键因素。针对 "路由" 和 "将移动平台布局适配到 web 平台" 这两个话题,受访者还想要有更好的文档。
△ 用户们认为 "浏览器导航和路由历史" 是使用 Flutter 创建 web 端体验最关键的功能

Flutter 团队正在根据收到的反馈进行积极改进。团队最近发布了 Navigator 2,专门解决围绕导航和路由的问题 (也是用户们最关切的问题)。我们还增加了对复制/粘贴可选文本的支持,并计划改进可选文本功能 (尤其是对富文本)。我们将根据社区反馈的问题,持续改进滚动的物理效果和性能。


  • Navigator 2
    https://medium.com/flutter/learning-flutters-new-navigation-and-routing-system-7c9068155ade
  • 复制/粘贴可选文本
    https://github.com/flutter/flutter/issues/47234
  • 可选文本功能
    https://github.com/flutter/flutter/projects/173#card-43620465


最后,团队还收到了关于工作流、性能和第三方 API 的反馈。在基本工作流方面,受访者认为 Flutter 在 web 端的调试是最困难的。页面加载速度和滚动是受访者最常遇到的性能问题。受访者希望 Flutter web 能够对本地存储 (例如 SQLite)、Firebase 存储和 Google 地图提供更好的支持。这些需求将随着团队推进 Flutter web 的开发进程而逐步满足。



Sliver widgets


Sliver widgets (名字以 "Sliver" 开头的 widgets,例如 SliverAppBar 和 SliverList) 用于创建丰富滚动效果。虽然很多滚动效果可以通过 ListView、GridView、PageView 或 AnimatedList 等 widgets 来实现,但 Sliver widgets 可用于自定义滚动视图,打造更漂亮的界面。

△ 您可以使用 Sliver widgets 实现这样的丰富滚动效果
Flutter 团队了解到用户对于 Sliver 有不同的想法和感受。有些用户没有在应用中使用过 Sliver widgets,有些则想要更多的 Sliver widgets 来实现各种效果。因此,团队决定在本季度的调研中增加问题以进一步了解 Flutter 用户的 Sliver 使用情况。

首先,我们发现使用简单滚动效果设计界面的用户 (49%) 要多于使用丰富滚动效果的用户 (39%) (调查问卷中提供了一个简单滚动效果的示例和一个丰富滚动效果的示例)。对于需要丰富滚动效果的用户,有 78% 表示需要 Sliver 才能实现他们想要的效果。
△ 使用简单滚动效果设计界面的用户 (49%) 要多于使用丰富滚动效果的用户 (39%)

在需要使用 Sliver 的用户中,有 20% 表示还没有尝试过 Sliver。更让我们感兴趣的是,在使用过 Sliver 的用户中,有 35% 遇到过问题。如下图所示,当我们询问哪些问题影响最大时,选择最多的是找不到合用的 Sliver (36%),其次是学习 Sliver (30%),然后是易用性问题 (19%)。

△ 找到合用的 Sliver 是用户面临的最大问题,其次是学习使用 Sliver 和易用性问题
因为我们不希望这些问题影响到您实现理想的界面,所以我们计划更新 Flutter 文档,让 Sliver widgets 和 Sliver 的相关信息更易于查找和学习。如果您需要用到 Flutter 框架之外的新 Sliver,可以使用 sliver_tools 或 sticky_headers 一类的社区 package。Flutter 社区也一直欢迎开发者在这一领域做出贡献。


  • sliver_tools
    https://pub.flutter-io.cn/packages/sliver_tools
  • sliver_headers
    https://pub.flutter-io.cn/packages/sticky_headers


同时,如果您是 Sliver 新手,可以通过以下资源获取更多信息:


  • Medium 文章: 探秘 Slivers
    https://medium.com/flutter/slivers-demystified-6ff68ab0296f
  • 视频: Slivers 解读 - 打造动感界面
    https://www.youtube.com/watch?v=Mz3kHQxBjGg


调试平台特定问题


之前的调研中,我们发现平台特定问题的排查以及跨平台测试应用是 Flutter 开发者最头疼的任务。虽然我们有看到一些与平台特定问题相关的 issue,但我们不确定这些问题的相对优先级,也不知道它们是集中在同一个领域中还是散布在多个领域。为了找出难以排查问题和进行测试的真正原因,我们这次额外询问用户遇到了哪些具体问题。


首先,我们询问用户调试了哪些平台特定问题。我们发现最常见的平台特定问题是工具问题 (32%),然后是不同平台的视觉差异 (28%)、依赖项管理问题 (28%)、不同平台的行为差异 (27%)、不同平台插件的行为差异 (26%) 以及缺失原生功能 (25%)。

△ 最常见的平台特定问题是工具问题、视觉差异和依赖项管理

受访者还对其调试的每个问题的重要性和难度进行了评估。最重要的调试问题是缺失原生功能、性能差异、行为差异、插件行为差异和发布问题。最困难的调试问题是缺失原生功能、设备特定问题、性能差异、依赖项管理和工具问题。

△ 平台特定问题的重要性和难度 (误差线代表 95% 的置信区间)

85% 的受访者认为跨多平台测试应用非常或极其重要。不过,只有 27% 的受访者表示这非常 (或极其) 困难。因此,多平台测试应用很重要,但大多数开发者并不认为这是一个很大的障碍。从问卷的开放式评论中,我们了解到最常见的测试问题包括 iOS 的难度测试 (尤其对于 Windows 开发者)、多种屏幕尺寸的测试以及在多种实体设备上的测试。


我们的团队将在下一季度投入更多时间,全力清理我们的问题清单,并解决有关工具、依赖项管理和发布的主要问题。我们还将继续围绕这些领域改进文档。例如,我们将改进关于使用 CI 工具 (例如,GitHub Actions 和 Bitrise) 的文档,这可以帮助用户更好地在 iOS 上测试应用。



下一步是什么?


您的意见时刻影响着我们的决策。我们将继续保持这一传统,根据您在调查中的反馈调整工作方向。因此,请继续和我们分享您的想法。Flutter 的用户体验 (UX) 研究团队也正在开展各种用户体验研究,旨在为您打造更加愉悦的 Flutter 使用体验。也欢迎大家在评论区和我们分享使用 Flutter 的感想和遇到的问题。


  • 参与 Flutter 用户体验调研
    https://flutter.dev/research-signup


推荐阅读






 点击屏末 | 阅读原文 | 即刻访问 Flutter 开发者社区中文资源



: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存