作者 / 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 开发者社区中文资源


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

  1. Flutter 季度调研结果分享 | 开发者的选择

    作者 / JaYoung Lee, UX Researcher, Google Flutter 团队每季度进行一次为期十天的问卷调研,以听取大家使用 Flutter 的体验.问卷中除了帮助团队了解各种 ...

  2. Flutter技术调研报告

    Flutter技术调研报告 目 录 一.Flutter是什么 1 官方介绍 2 Flutter 与原生的性能对比 3 二.目前状况 4 1.大厂使用情况 4 2.举例说明 4 三.自身分析 5 1.公 ...

  3. android开发技术可行性,Flutter技术调研及可行性结论

    前言: 随着Flutter的快速发展,以及在国内外应用中作为跨平台方案使用的普及,Flutter吸引了无数开发者的眼光.我们也对Flutter从以下方向进行了技术方面的调研,并在项目中进行了接入开发实 ...

  4. linux共享文件丢失,【干货分享】linux平台下数据文件被误删后,如何及时得知并进行恢复...

    原标题:[干货分享]linux平台下数据文件被误删后,如何及时得知并进行恢复 我们知道在windows平台下,一旦文件在程序中打开,则不能被删除,所以不存在误删数据文件的情况,如下图所示. 但是在LI ...

  5. 推荐几个单细胞数据分享和展示平台 | 短视频演示

    Broad的单细胞数据分享和展示平台 可选择子类展示 映射单个基因的颜色到t-SNE/UMAP图 分屏展示Cluster着色图和单基因着色图 多基因热图.Dotplot.Boxplot.Violinp ...

  6. 微信公众平台开发之在网页上添加分享到朋友圈,关注微信号等按钮

    微信公众平台开始支持前端网页,大家可能看到很多网页上都有分享到朋友圈,关注微信等按钮,点击它们都会弹出一个窗口让你分享和关注,这个是怎么实现的呢?今天就给大家讲解下如何在微信公众平台前端网页上添加分享 ...

  7. 价值4500的国际版多语言点赞抖音分享点赞任务平台源码(十二种语言)

    介绍: 平台会员分享给我的,他自己搭建成功了,测试可用!我就不测试了,需要的拿! 九种语言 :西班牙语,泰语.日语,印度尼西亚语言.越南语言.英文.繁体中文,简体中文,印度语 前台支持更换5种颜色风格 ...

  8. 业务需求调研经验分享

    业务需求调研经验分享 作者:成晓旭 1.        针对具体的工作内容,召集专题访谈启动会.访谈沟通会.由客户的项目负责人向涉及的相关部门或者受访对象进行情况介绍和工作任务安排,并注意在会上详细. ...

  9. 【源代码】一键分享各个社交平台_android

    [代码] [Java]代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ...

最新文章

  1. Delphi控件之---UpDown以及其与TEdit的配合使用(比如限制TEdit只能输入数字,还有Object Inspector之组件属性的介绍)...
  2. Radar Installation(贪心,sort)
  3. 基于爬山算法求解TSP问题(JAVA实现)
  4. Java并发编程—为什么 wait() 方法需要写在 while 里,而不是 if?
  5. php 弹窗代码大全,PHP_asp.net弹出窗口代码大全,//关闭,父窗口弹出对话框,子窗 - phpStudy...
  6. sharepoint 2013 个人站点母版
  7. 一个坑爹的问题,js注释掉夹杂的el表达式页面不显示(代码颜色坑了我)
  8. ajax 获取openid,纯前端获取当前用户的openid(微信小程序)
  9. 合并压缩JavaScript,开发发布两不误
  10. 纯CSS实现的蓝色竖向导航代码
  11. 动态包含与静态包含的区别
  12. 如何解决大规模高性能存储可靠性问题?
  13. 图像匹配之不变矩匹配法
  14. 小米4 win10 刷回android,小米4如何从win10刷回miui 小米4win10刷回小米系统教程
  15. 去中心化产品从趋势上的“确定性”到产品设计思路
  16. mongo分片集群部署
  17. Anaconda修改国内镜像源
  18. win7语言文件夹c盘什么位置,win7桌面上的文件 在c盘哪个目录
  19. 现代轻奢风格装修讲解
  20. 6:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转

热门文章

  1. 最强PPT:现代化智能仓储物流解决方案
  2. 29.typedef
  3. 西澳推出两大创新型住宅太阳能加存储项目
  4. 在win7下配置Geany,使其使用 Python 3
  5. 【不忘初心,砥砺前行】2021年中创算力新春年会暨周年庆典
  6. 2021年熔化焊接与热切割考试试卷及熔化焊接与热切割模拟试题
  7. HDU Today 【最短路径】+【构造map】
  8. windows下越狱iphone X笔记2
  9. javaweb:request请求对象(5)
  10. [Fw]人和人之间在八小时之外的差别