作者 / 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. 有趣的特性:CHECK约束

    有趣的特性:CHECK约束 功能说明 在MySQL 8.0.16以前, CREATE TABLE允许从语法层面输入下列CHECK约束,但实际没有效果: CHECK (expr) 在 MySQL 8.0 ...

  2. 我和Apache DolphinScheduler的缘分

    关于 DolphinScheduler社区 Apache DolphinScheduler(incubator) 于17年在易观数科立项,19年3月开源, 19 年8月进入Apache 孵化器,社区发 ...

  3. Apache DolphinScheduler 使用文档(4/8):软件部署

    本文章经授权转载,原文链接: https://blog.csdn.net/MiaoSO/article/details/104770720 目录 4. 软件部署 4.1 为 dolphinschedu ...

  4. P2501 [HAOI2006]数字序列 (LIS,DP)(未完成)

    第二问好迷... #include "Head.cpp" #include <vector> const int N = 35007; vector<int> ...

  5. Luogu4084 [USACO17DEC]Barn Painting (树形DP)

    数组越界那个RE+WA的姹紫嫣红的... 乘法原理求种类数,类似于没有上司的舞会. #include <iostream> #include <cstdio> #include ...

  6. Redis的两种持久化机制

    Redis的两种持久化机制 1.持久化机制 client--->redis(内存)--->内存数据-数据持久化--->磁盘 两种方法 快照(Snapshot) AOF(Append ...

  7. Java SE 12 新增特性

    Java SE 12 新增特性 作者:Grey 原文地址:Java SE 12 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...

  8. PerfView专题 (第九篇):洞察 C# 中的 LOH 内存碎片化

    一:背景 在 内存泄漏 的系列问题中,有一类问题是 内存碎片化 导致的,而且这种更容易发生在 LOH 上,因为它默认不开启 对象压缩,一般遇到这种情况,优先让朋友执行下面的代码应急. GCSettin ...

  9. Linux 更换国内源

    1.事件背景 事情起因是因为我想安装xvfb,执行sudo apt-get install xvfb发现安装报错,看报错原因是被墙导致,因为我用的默认源也没有挂代理:然后就百度,发现都是互相抄,什么换 ...

  10. KingbaseESV8R6临时表和全局临时表

    临时表概述 临时表用于存放只存在于事务或会话期间的数据.临时表中的数据对会话是私有的,每个会话只能看到和修改自己会话的数据. 您可以创建全局(global)临时表或本地(locall)临时表. 下表列 ...