Kotlin Multiplatform 的首次用户调查结果出炉啦

Kotlin团队始终依靠社区的反馈来决定技术的未来,用户始终是最了解如何将 Kotlin 打造成一个更好的工具的角色。

去年11月,我们进行了有史以来的首次Kotlin Multiplatform调查,旨在了解该技术的最新变化对开发人员产生了哪些影响。 这项调查得到了社区的积极响应,并产生了1163份答复和614份完整填写的调查——本文就是基于这些调查结果分析而来的。我们要感谢所有抽出宝贵时间提供反馈的开发者们。

这项调查的结果使得我们能够更加全面地了解我们的用户常见的使用方式以及需要解决的问题,以帮助那些使用Kotlin Multiplatform从事个人或大学项目的人员,以及那些正在考虑采用Kotlin Multiplatform的人。

这是同类报告中的第一篇,它将有助于阐明Kotlin Multiplatform的当前状态。我们还将分享我们对这项技术发展的看法和结论,并披露我们为响应现状而进行的未来更改和改进的一些计划。

用户画像

有Android背景的开发人员在使用Kotlin Multiplatform的开发人员中占绝大多数,不过有后端经验的开发人员的数量也很大。令人惊讶的是,还有多达8%的受访者来自iOS背景。

我们很高兴Android开发人员通过Kotlin Multiplatform的功能增强了他们的知识和技能,这有助于他们超越Android的技术边界。令人高兴的是,这项技术正在吸引来自不同背景的如此众多的用户,并且为每个人提供了很多机会。

61.4%的受访者有5年以上的开发经验,由此我们可以推断:Kotlin Multiplatform对那些具有丰富编程知识的人更有吸引力。有这么多资深开发人员选择是我们的荣幸。不过,如果您仍是中级或初级开发人员,请不要担心——优化Kotlin Multiplatform的开发体验,降低它的使用门槛是我们的首要任务。我们还将采取措施逐步帮助初学者也开始使用Kotlin Multiplatform。

Kotlin Multiplatform 的主要使用场景

42.2%的受访者使用Kotlin Multiplatform在iOS和Android之间共享代码。这意味着他们正在使用KMM,后者最近被拆分到一个单独的项目中,Kotlin团队对此投入了大量资源以推进它进入了Alpha状态。此外,移动端+ Web 端、后端+ Web 端的组合也很流行。最出乎意料的是,有16.3%的开发者使用这项技术来覆盖全平台,目的就是使其代码尽可能通用。JetBrains最近发布的Space就是使用这项技术支持全平台案例,它几乎完全基于Kotlin构建。

Kotlin Multiplatform是开源库和内部SDK开发者的常见技术。我们很高兴看到41.1%的受访者信任该技术,并使用它在线上产品中共享代码。这意味着使用Kotlin共享代码不仅可以帮助开发人员以一致而快速的开发流程节省时间和精力,而且确实可以满足其用户的需求。

“您认为Kotlin Multiplatform是否已经适用于生产环境?”这是我们最常问到的问题之一。根据调查结果,超过56%的受访者已经或即将发布具有共享模块的应用程序。即使Kotlin Multiplatform仍在Alpha阶段,但它足以支撑生产需求,全世界各地的公司和独立开发人员已经体验到了在平台之间重用代码的便利

移动端跨平台之间共享代码的最主要的场景是数据序列化和算法,而内部工具、数据存储和数据同步紧随其后。您可以在Kotlin Multiplatform Mobile开发人员门户的案例研究部分中找到有关特定公司及其用例的更多信息。

KMM旨在帮助开发人员在移动端之间重用其业务逻辑,并且仍然保留 原生 UI。我们也很高兴地看到,KMM被用于多种场景,从重用网络逻辑到共享UI。

想要立即上手使用,请参阅有关如何使用共享代码库创建第一个应用程序的分步指南

用户痛点

没有什么是完美的,Kotlin Multiplatform也不例外。 严格的Kotlin / Native内存模型,工程构建配置,库以及IDE支持这些问题是令用户最为头疼的。我们已经将它们添加到了我们的路线图中。 我们听到了用户的声音,并将尝试对这些问题采取一定的措施,以使Kotlin Multiplatform的使用体验得到不断改善。

工具支持

超过一半的受访者使用Android Studio来运用Kotlin Multiplatform的功能。紧随其后的是IntelliJ IDEA Ultimate和IntelliJ IDEA Community Edition,分别为27.3%和16.7%。我们可以改善开发人员体验的唯一方法就是基于 IDE 提供更好的工具支持,但是要做到这一点,我们需要更多的反馈和使用数据。我们鼓励您启用与JetBrains(如果使用IntelliJ IDEA)和Google(如果使用Android Studio)的统计信息共享以提供相应的帮助。

52.6%的受访者愿意使用CocoaPods将Kotlin Multiplatform框架导出到iOS应用程序中。我们对这项技术所获得的大量反馈感到非常满意,并且对于如何改善开发人员使用该技术的体验,有一些很好的想法。

我们惊讶地发现,有25%的人对集成Swift Package Manager感兴趣。后续我们将对此予以更多关注,并将重新调整计划,以便采取进一步措施来满足用户的需求。

快速上手

我们非常有兴趣了解开发人员如何进行他们的第一个Kotlin Multiplatform项目。结果表明,使用IDE向导,按照官方分步指南创建项目以及克隆官方示例是开发人员开始探索该技术时最流行的方法。我们很高兴看到,开发人员使用了KMM门户和官方文档帮助他们入门,此外,社区在世界范围内创建和维护的资源也致力于使人们了解如何使用这项技术。

提升开发体验是我们的首要任务。为了提高广大开发者对Kotlin Multiplatform的满意度,我们需要继续改进和维护现有的文档。从收到的反馈来看,我们的文档主要缺少特定场景的示例,以及可立即应用于生产环境的示例和文章。为了应对这一挑战,我们创建了文档改进计划,以减少相关文档的匮乏。这其中首先将重点放在文档尚未覆盖到的常见的用户场景上,例如如何开展测试工作;然后再创建手把手的教程和示例,以帮助希望从零创建或者集成这项技术的项目开发人员。

总结

通过首次Kotlin Multiplatform用户调查收集的所有反馈意见,我们了解到我们处在正确的轨道上。这项技术发展迅速,已经帮助许多公司和独立开发人员在创建面向用户的应用程序时在平台之间共享代码。

我们也非常高兴Kotlin社区能对我们这次试图了解开发人员如何使用Kotlin Multiplatform的尝试表示欢迎和支持。大家的反馈为我们提供了非常重要的参考价值,也帮助我们明晰了这项技术的发展方向。因此,我们后续计划定期(大约每年两次)开展Kotlin Multiplatform用户调查,以使我们的前进方向与开发者紧密联系在一起。

再次感谢所有参与此调查的人!

此条目发表在官方分类目录。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。 必填项已用*标注