热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

作者Flutter用户体验研究团队(JaYoungLee,YouyangHou,JackKim,TaoDong)2020年8月,Flutter团队启动了第10次季度用户调研。在10

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

作者 / 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 季度调研结果分享 | 聚焦多平台开发者关注的问题

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

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

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

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

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

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

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

  • Flutter 社区汇总页面

    https://flutter.cn/community

Flutter web

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

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

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

△ 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)。

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

△ 过去 3 个月内,尝试将 Flutter web 用于生产的用户比例因其过去在移动和 web 平台上的经验而有所不同

Flutter web 团队还收集了关于创建 web 相关体验的各种问题的反馈。首先,我们了解到,受访者认为浏览器导航和路由历史 (55%)、复制/粘贴选定文本 (34%)、滚动物理效果 (33%) 和选择任意文本 (32%) 是创建 web 相关体验的最关键因素。针对 "路由" 和 "将移动平台布局适配到 web 平台" 这两个话题,受访者还想要有更好的文档。

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

△ 用户们认为 "浏览器导航和路由历史" 是使用 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 可用于自定义滚动视图,打造更漂亮的界面。

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

△ 您可以使用 Sliver widgets 实现这样的丰富滚动效果

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

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

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

△ 使用简单滚动效果设计界面的用户 (49%) 要多于使用丰富滚动效果的用户 (39%)

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

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

△ 找到合用的 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.you tu be.com/watch?v=Mz3kHQxBjGg

调试平台特定问题

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

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

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

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

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

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

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

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

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

下一步是什么?

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

  • 参与 Flutter 用户体验调研

    https://flutter.dev/research-signup

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


推荐阅读

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

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

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

Flutter 季度调研结果分享 | 聚焦多平台开发者关注的问题 点击屏末  | 即刻访问 Flutter 开发者社区中文资源


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

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

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


推荐阅读
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • 本文介绍了使用Python编写购物程序的实现步骤和代码示例。程序启动后,用户需要输入工资,并打印商品列表。用户可以根据商品编号选择购买商品,程序会检测余额是否充足,如果充足则直接扣款,否则提醒用户。用户可以随时退出程序,在退出时打印已购买商品的数量和余额。附带了完整的代码示例。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • ScrollView嵌套Collectionview无痕衔接四向滚动,支持自定义TitleView
    本文介绍了如何实现ScrollView嵌套Collectionview无痕衔接四向滚动,并支持自定义TitleView。通过使用MainScrollView作为最底层,headView作为上部分,TitleView作为中间部分,Collectionview作为下面部分,实现了滚动效果。同时还介绍了使用runtime拦截_notifyDidScroll方法来实现滚动代理的方法。具体实现代码可以在github地址中找到。 ... [详细]
author-avatar
讲述华哥传奇的生活_616
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有