Kotlin 调查报告,近一半用户不满 IDE 性能

今年 Kotlin 团队进行了第一次 Kotlin 开发者调查,通过设计这个调查,可以帮助 Kotlin 团队识别和优先处理最严重影响 Kotlin 用户满意度的痛点。

近日 Kotlin 团队公布了此次调查的最终报告,让大家可以了解到目前开发者们对 Kotlin 现状的评价,以及团队打算做出的改进。

注:用户满意度得分(CSAT, Customer Satisfaction Score)是所有调查回复中正面回复的百分比(非常满意 + 满意)。

Kotlin 的满意度

根据调查,目前 Kotlin 的用户满意度为 86%。

目前 Kotlin 用户的主要痛点是 IDE 和构建性能,构建设置也是首要问题之一。根据调查,这些因素对 Kotlin 多平台 Gradle 用户的影响最为强烈。

构建工具的满意度

根据 Kotlin 开发者调查的数据,目前 Kotlin 构建工具的用户满意度为 62%,这意味着有超过三分之一的用户对其不满意。

为了确定构建工具问题的优先级,Kotlin 团队要求给出 "不满意" 或 "非常不满意" 分数的用户确定最多三个他们最不满意的子系统,其中构建性能是最大的问题。

提高构建性能

Kotlin 团队目前已经对构建性能最初了一些改进,并计划采取进一步措施:

  • Kotlin 1.7.0 为 Kotlin/JVM 编译器引入了性能改进。根据基准测试,与 Kotlin 1.6.0 相比,编译时间平均减少了 10%。
  • 在 Kotlin 1.7.0 中,改进的增量编译,目前是实验性的,只支持 Gradle 构建系统中的 JVM 后端。新方案减少了必要的全模块和文件重新编译的次数,使整个编译时间更快。Kotlin 团队计划使新的增量编译在 Gradle 中稳定运行,并在未来增加对 Maven 和其他构建系统的支持。
  • 自 Kotlin 1.7.0 以来,用户已经能够为 Kotlin 编译器任务创建构建报告,使他们能够发现并修复性能问题。
  • Kotlin 团队也在继续改进性能指标。最近,Kotlin 团队开始收集和分析来自生产的编译速度指标,包括 K2 编译器。

Kotlin 团队已经做了很多努力来提高构建性能,并且几乎达到了目前 Kotlin 编译器可能的改进极限。团队现在的主要精力将放在稳定新的 Kotlin K2 编译器上,该编译器现在处于 Alpha 阶段,主要是为了提高性能。

Kotlin IDE 的满意度

Kotlin 用户对 IDE(Android Studio 和 IntelliJ IDEA)中语言支持的完整性、质量和可用性非常满意。然而在使用 Kotlin 时,IDE 的性能显然不能提供最好的体验,用户满意度得分仅为 56%。

提高 IDE 的性能

为了确定优先需要解决哪些问题,Kotlin 团队要求给出 "不满意" 或 "非常不满意" 评价的用户最多确定三个他们最不满意的子系统。

项目导入、参考搜索操作和语法高亮的性能排名靠后,并不是 IDE 性能问题的主要原因。对 IDE 性能不满意的主要原因在于 IDE 冻结和索引,超过 40% 的 Kotlin 用户将其列入了对 IDE 性能不满意的列表。

与构建工具一样,Kotlin 团队已经采取了许多措施来修复 IDE 冻结和改善 IDE 索引的问题,而且还计划采取更多措施:

  • 最近在 IntelliJ IDEA 2022.1 和 2022.2 中采取的优化索引的措施,对 IDE 的速度和代码高亮、代码补全和查找的性能产生了积极的影响。
  • 性能分析表明,在最新版本的 IntelliJ IDEA 中,Kotlin 项目的索引、高亮显示和代码补全的速度与 JAVA 几乎相同。
  • 在最新的 IntelliJ IDEA 版本(2022.1 和 2022.2)中,有许多修复措施来减少冻结。更多的改进计划在 2022.3 中进行。
  • Kotlin 团队已经仔细研究了与 IDE 冻结有关的积压问题,并已着手计划修复。

Kotlin 库的满意度

Kotlin 团队在开发 Kotlin 核心库方面的努力有助于提升用户使用 Kotlin 开发的乐趣。kotlinx-coroutines 和 kotlinx-serialization 满足了 80% 以上用户的需求,而 Kotlin 标准库以 90% 的用户满意度排名第一。

kotlinx-datetime 的第一个稳定版本目前也获得了用户的喜爱,然而作为一个年轻的库,它还有更多需要改进的地方。

可以点击链接查看完整的 Kotlin 开发者调查报告。