作者 / 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. SwiftUI实战教程-土豆List

    代码库 教程中的项目代码都保存在这里:https://gitee.com/KINGWDY_admin/swiftui01 前言 在这一章节中,我们会使用List控件做一个土豆List,实现了列表填充. ...

  2. [开源内卷] .NET 定时任务 -- FreeScheduler 支持 cron、持久化、可变定时设置

    前言 卷了,卷了,卷了,最近太卷...这篇文章写了好几天了,由于同类型文章太多,排期到今天发布.实在不想卷,得罪了!各位定时任务开源大佬们! .NET 定时组件生态实在太强大了,写下此文只希望能供大家 ...

  3. java数组---初始化

    public class ArrayDemo { public static void main(String[] args) { int[] a={1,2,3,4,5,6,7,8,9}; //静态初 ...

  4. ubuntu生成ssh_key

    ssh-keygen cat ~/.ssh/id_rsa.pub

  5. 【读书笔记】C#高级编程 第二章 核心C#

    (一)第一个C#程序 创建一个控制台应用程序,然后输入代码,输入完毕后点击F5 Console.WriteLine();这条语句的意思:把括号内的内容输出到界面上: Console.ReadKey() ...

  6. 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(19)-Fiddler精选插件扩展安装,将你的Fiddler武装到牙齿

    1.简介 Fiddler本身的功能其实也已经很强大了,但是Fiddler官方还有很多其他扩展插件功能,可以更好地辅助Fiddler去帮助用户去开发.测试和管理项目上的任务.Fiddler已有的功能已经 ...

  7. Redis变慢?深入浅出Redis性能诊断系列文章(三)

    (本文首发于"数据库架构师"公号,订阅"数据库架构师"公号,一起学习数据库技术,助力职业发展) 本篇为Redis性能问题诊断系列的第三篇,主要从Redis服务层 ...

  8. 以软件定义物联网芯片,以技术融合推动LPWAN2.0泛在物联

    作为数字化产业重要的基础设施之一,物联网迎来了黄金发展期.物联网通信技术通过数据的采集.分析.输出,从浅层次的互联工具和产品深化,到成为重塑生产组织方式的基础设施和关键要素,正深刻地改变着传统产业形态 ...

  9. C# 常见面试问题

    C# 常见面试问题 EntityFramework 数据持久化 C#中的委托是什么?事件是不是一种委托? C#中的委托是一种引用类型,表示具有相同方法签名的方法的引用.类似于函数指针,也就是说它们是指 ...

  10. 在 K8S 上部署以 mysql 数据库作为后端存储的单机版 nacos

    Nacos 被用于: 服务发现 微服务配置信息管理 部署 nacos 时,需要用到如下两个镜像,这两个镜像均来自于 nacos 官方发布到 docker hub 的镜像, nacos/nacos-se ...