作者 / JaYoung Lee, UX Researcher at Google

Google 的 Flutter 团队负责构建和维护 Android Studio (基于 IntelliJ-IDEA) 和 Visual Studio Code (VS Code) 的支持。我们将代码补全、语法高亮、widget 编辑辅助、运行和调试等功能集成到这些 IDE 插件中,用于 Flutter 应用开发。Flutter 开发者们从一开始就有在使用这两种 IDE,Android Studio 以前比 VS Code 更受欢迎,不过 VS Code 近期在 Flutter 开发中的热度一直在稳步增加,最近甚至超过了 Android Studio,如下文图中所示。

为了更好地理解 Flutter 开发者在选择 IDE 时的想法,Flutter UX 团队在 2022 年 5 月开展了针对此课题的特别调研。

在后文中,"Android Studio" 同时代表 "Android Studio" 和 "IntelliJ-IDEA"。

△ 图 1. 从 2021 年 8 月到 2022 年 7 月,使用每个 IDE 的 Flutter 开发者数量。图中可以看出 VS Code 在过去几个月中变得更受欢迎。

我们对 IDE 的现有了解

除了知道 Flutter 开发者在 2022 年初时使用 Android Studio 和 VS Code 的人数各占一半之外,我们根据之前的调研,对开发者的选择有了更深入的了解。

Flutter 开发者倾向于使用他们熟悉的 IDE

在 2019 年第三季度,我们曾询问 Flutter 开发者为什么更喜欢他们使用最多的 IDE。最常见的回答是: 这个 IDE "我更熟悉"。

△ 图 2. 根据 2019 年第三季度的调研,80% 的 Android Studio 用户和 61% 的 VS Code 用户表示,他们选择 IDE 是因为对其更熟悉。

VS Code 用户看重在 IDE 中体验到的速度

上图 (图 2) 中另外值得一提的是,68% 的 VS Code 用户选择该 IDE 是因为它比其他 IDE 更快,而只有 15% 的 Android Studio 用户如此认为。在一个开放式问题中,VS Code 用户表示他们喜欢该 IDE 是因为它虽轻量却具有多种扩展程序。

VS Code 用户对 Flutter 的 IDE 支持更满意

我们还询问了对 Flutter 的 IDE 支持的满意度,VS Code 用户对此更为满意。(我们记录了开发者从 IDE 打开调研问卷时是在使用哪个 IDE。当开发者单击问卷链接时,我们会告知他们将对此信息进行记录。)

△ 图 3. 有 93.3% 的 VS Code 用户对 Flutter 的 IDE 支持感到满意,只有 85.9% 的 Android Studio 用户对此感到满意。

当然,Android Studio 的设计目的,是作为面向 Android 开发的完全集成的 IDE,因此它提供更丰富的功能集。开发者们有提到,在 Android Studio 中处理原生 Android 代码和使用重构等便利功能很容易。在本文的下一节中,我们将深入探讨开发者们的偏好,以及为什么尽管 Android Studio 有这些优点,开发者对在其中进行 Flutter 开发时仍不太满意。

2022 年第二季度调研结果总结

上一节的结果让我们不禁好奇,为什么 Flutter 开发者更乐意使用 VS Code 支持,而不是 Android Studio 支持。我们想了解 Flutter 开发者真正喜欢 VS Code 的哪些方面。

为了解这一点,我们询问了将主要 IDE 从一个换成另一个 (既包括从 Android Studio 换成 VS Code,也包括从 VS Code 换成 Android Studio) 的开发者一组问题。我们相信这些开发者可以很好地从他们的视角告诉我们每种 IDE 的独特价值。

首先,有更多的 Flutter 开发者从 Android Studio 换成 VS Code。

△ 图 4. 更多开发者将主要 IDE 从 Android Studio (蓝色) 换成 VS Code (青色),反向改换的人则很少。

如下图所示,转用 VS Code 的人喜欢它的性能 (82%) 和易用性 (63%)。另一方面,转用 Android Studio 的人喜欢它的功能 (51%)、与 Flutter 工具的集成 (39%) 以及与原生平台的集成 (27%)。

△ 图 5. 转用其他 IDE 的理由。

仍然有大约 23% 的 Flutter 开发者同时使用 VS Code 和 Android Studio。当询问他们为什么使用多个 IDE 时,最常见的回答是,VS Code 用户需要使用 Android Studio 和 Xcode 来实现特定于原生设备的功能,例如模拟器设置、构建配置、发布需求 (例如密钥生成和签名),以及开发 Flutter + 原生混合式应用。

△ 图 6. 22.5% 的 Flutter 开发者同时使用 VS Code 和 Android Studio。

我们从调研中还了解到,不同国家或地区的 Flutter 开发者偏好不同的 IDE。尽管大多数 Flutter 开发者更偏好 VS Code,但中国的开发者相较于 VSCode (23%) 还是更偏好 Android Studio (56%)。我们发现这很有趣——Flutter 在全球范围内都有被广泛采用,但又往往处于不同的开发环境中。无论您来自哪个国家或地区,如果您有任何围绕这一倾向的故事,欢迎和我们分享。

△ 图 7. 不同国家或地区的 IDE 使用偏好。图表中各个国家或地区至少包含 100 名受访者。

结论

我们的目标是提供实用且完整的开发体验,最大限度地减少大家开始使用 Flutter 时的不便之处,并最大限度地提高开发者的工作效率。我们将基于上述以及未来的调研结果,为今后 Flutter 的 IDE 支持和文档提供路线图。我们会先对官方网站的上手指南文档进行小幅更新,以更好地反映上文提到的 IDE 偏好和使用模式。

我们从此次及其他调研中获取的诸多宝贵见解将确保我们聚焦于正确的领域,从而持续改进 Flutter 开发者体验。再次感谢参与调研的每一位开发者!如果您有兴趣参与未来的 用户调研,欢迎在官网上进行注册。我们将在下个季度和大家分享第三季度的调研结果,请保持关注!

了解 Flutter 开发者们的 IDE 使用情况的更多相关文章

  1. Flutter —快速开发的IDE快捷方式

    老孟导读:这是老孟翻译的精品文章,文章所有权归原作者所有. 欢迎加入老孟Flutter交流群,每周翻译2-3篇付费文章,精彩不容错过. 原文地址:https://medium.com/flutter- ...

  2. 参与 2022 第二季度 Flutter 开发者调查

    2022 Google I/O 大会正式落下帷幕,Flutter 作为 14 个开发者产品和平台中的一款,吸引了来自全球的很多开发者们的关注.随着全国很多地方已经进入夏季,Flutter 今年第二季度 ...

  3. 无限可能 | Flutter 2 重点更新一览

    我们非常高兴在本周发布了 Flutter 2.自 Flutter 1.0 发布至今已有两年多的时间,在如此短暂的时间内,我们解决了 24,541 个 issue,合并了来自 765 个贡献者的 17, ...

  4. Flutter 2.2 更新详解

    Flutter 2.2 版已正式发布!要获取新版本,您只需切换到 stable 渠道并更新目前安装的 Flutter,或前往 flutter.cn/docs/get-started 从头开始安装. 虽 ...

  5. 无IDE时编译和运行Java

    最近 Java subreddit 出现了一篇”在没有IDE的情况下编译Java包” 的帖子,这个帖子抛出了这么一个问题,“是否存在一个命令可以编译一组处于同一文件夹下独立包内的java文件的方法(这 ...

  6. [转]无IDE时编译和运行Java

    本文由 ImportNew - Grey 翻译自 dzone.欢迎加入Java小组.转载请参见文章末尾的要求. 最近 Java subreddit 出现了一篇”在没有IDE的情况下编译Java包” 的 ...

  7. 最好的Java IDE之争:Eclipse PK IntelliJ IDEA

    话说,好马配好鞍,一个好的工匠,必定要有一套好的工具才能打造出最好的工艺给大家.之前,Plumbr团队里的所有成员都使用Eclipse编辑器,而如今,大家都成为IntelliJ IDEA用户.那么,到 ...

  8. LayaAir引擎开发HTML5最简单教程(面向JS开发者)

    LayaAir引擎开发HTML5最简单教程(面向JS开发者) 一.总结 一句话总结:开发游戏还是得用游戏引擎来开发,其实很简单啦 切记:开发游戏还是得用游戏引擎来开发,其实很简单,引擎很多东西都帮你做 ...

  9. Flutter与Dart 入门

    Flutter简介 Flutter是google推出的,一个使用Dart语言开发的跨平台移动UI框架,通过自建绘制引擎,能高性能.高保真地进行Android和IOS开发. Flutter是什么 Flu ...

随机推荐

  1. 两天时间学习的html的知识笔记

    坚持努力背 特殊字符: 空格符  < 小于号 <> 大于号 >& 和号 &¥ 人民币 ¥  版权 ©R 注册商标 ®. 摄氏度 ° 正负号 ±X 乘号 × 除号 ...

  2. Git学习与码云实战

    Git学习与码云实战 一.Git安装 概述: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具. 下载安装: 下载地址:http ...

  3. ASP.NET Core依赖注入系统学习教程:关于服务注册使用到的方法

    在.NET Core的依赖注入框架中,服务注册的信息将会被封装成ServiceDescriptor对象,而这些对象都会存储在IServiceCollection接口类型表示的集合中,另外,IServi ...

  4. Linux 02 基本命令

    参考源 https://www.bilibili.com/video/BV187411y7hF?spm_id_from=333.999.0.0 版本 本文章基于 CentOS 7.6 工具 清屏 cl ...

  5. 使用 Less 混合(Mixins)时报语法错误

    今天在尝试使用 less 的混合语法时,浏览器直接报了一个语法错误.下图是报错信息: 仔细地阅读了官方文档,和对比自己写的,并没有任何错误. .FlexLayout { .Start() { disp ...

  6. Dart 异步编程(一):初步认识

    由于 Dart 是单线程编程语言,对于进行网络请求和I/O操作,线程将发生阻塞,严重影响依赖于此任务的下一步操作. 通常,在一个阻塞任务之后还有许许多多的任务等待被执行.下一步任务需要上一步任务的结果 ...

  7. ss 显示unix 域 的socket 缓冲区不正确

    一个unix 域socket,平时我们用ss -auxp 来查看是否有数据在内核没有到用户态, [root@localhost unix]# ss -auxp |grep -i server.o u_ ...

  8. HTML初学者小知识

    引用js <script src="链接/js代码位置" type="text/javascript"></script> 引用css ...

  9. 第四十八篇:webpack的基本使用(二) --安装和配置webpack-dev-server插件

    好家伙, 1.webpack中的默认约定 默认的打包入口文件为src  -->index.js 默认的输出文件路径为dist -->main.js 既然有默认,那么就说明肯定能改 2.en ...

  10. MySQL Workbench生成E-R图

    因为做毕业设计文档,需要写ER图,故记录此篇 第一步 选择添加 选择数据库 一直next选择要生成的表 再一直下一步就ok了