Kotlin 调查报告:40% 开发者将其作为主编程语言

阅读数:6823 2019 年 5 月 20 日

我们现在展示的是 2018 年 12 月至 2019 年 3 月间开展的 Kotlin 2018 年普查的结果。4300 名开发人员(不仅仅是 Kotlin 的用户)与我们分享了他们对 Kotlin 如何融入他们的世界的见解和反馈。我们感谢参与调查的每一个人,他们帮助我们准确地反映了 Kotlin 社区让人难以置信的情况。如今,有超过 70 名核心 Kotlin 开发成员和超过 250 名出色的贡献者推动着 Kotlin 语言和生态系统的发展。在本报告中,你可以更深入地了解到 Kotlin 社区的趋势、状态和语言使用情况。

我们现在展示的是 2018 年 12 月至 2019 年 3 月间开展的 Kotlin 2018 年普查的结果。4300 名开发人员(不仅仅是 Kotlin 的用户)与我们分享了他们对 Kotlin 如何融入他们的世界的见解和反馈。

我们感谢参与调查的每一个人,他们帮助我们准确地反映了 Kotlin 社区让人难以置信的情况。

Kotlin 使用情况

Kotlin 是一种多用途语言,用于开发几乎所有类型的应用程序,无论是服务器端、桌面端、移动端,甚至是嵌入式应用程序。

由 JetBrains 设计和开发的 Kotlin 得到了科技巨头和开发者的大力支持。2016 年,Kotlin 1.0 发布。然后在 2017 年,谷歌宣布 Kotlin 是 Android 的一等语言。2018 年,该语言已经拥有 150 多万用户,在 Github 上拥有超过 9.6 万个存储库。

如今,有超过 70 名核心 Kotlin 开发成员和超过 250 名出色的贡献者推动着 Kotlin 语言和生态系统的发展。在本报告中,你可以更深入地了解到 Kotlin 社区的趋势、状态和语言使用情况。

你主要用 Kotlin 做什么?

超过一半的受访者在他们的生产代码中使用 Kotlin。Gradle、Pinterest、Atlassian、Pivotal 等许多公司都在生产中使用 Kotlin。

是什么阻止了你在生产中使用 Kotlin

55% 的受访者表示,缺乏知识是他们在生产中不使用 Kotlin 的主要原因。我们编制了一个有用的资料清单,帮助任何人开始学习 Kotlin。

请在 Stack Overflow Kotlin 论坛上与社区保持联系,并加入我们的 Slack

你使用 Kotlin 多长时间了?

用户坚持使用 Kotlin。人们对 Kotlin 有了更高层次的了解。如果他们使用 Kotlin 超过一年,看起来他们通常会继续使用它。

Kotlin 的类别

Kotlin 主要有四种类别,可以帮助我们简化编码过程,并为跨平台开发提供更多的机会。Kotlin 面向 JVM、JavaScript、Android 和 Native。这使得该语言成为开发所有类型的应用程序并在流行的操作系统(如 iOS、macOS、Windows 和 Linux)上运行它们的优秀工具。

你使用哪种 Kotlin?

Kotlin 在 JVM 上的使用最为流行,占 67%,Android 紧随其后,占 57%。

你针对哪个 JDK 版本进行开发?

84% 的 Kotlin 用户是针对 JDK 8。第二受欢迎的版本是 JDK 11,占 27%,而 JDK 9 和 JDK 10 各占 8%,落后于前者。

你使用 Java 模块吗?

你针对哪个 Android 版本进行开发?

你在哪里运行从 Kotlin 编译出来的 JavaScript 代码?

你面向哪个平台 / 操作系统进行开发?

Kotlin 开发者在 2018 年(平均 2.7)面向的平台比 2017 年(2.3)更多,这表明利用其跨平台能力的情况呈上升趋势。

应用类型

25% 的用户正在使用 Kotlin 开发两种类型的应用程序。

15% 的用户开发 3 种类型的应用程序,但大多数开发人员在生产中仅针对一种类型的应用程序使用 Kotlin。最流行的组合是 Web 后端与移动端以及 Web 后端与库或框架的组合。

你使用 Kotlin 开发哪种类型的应用?

多平台项目

多平台项目首先出现在 Kotlin 1.2 中,然后在 Kotlin 1.3 版本中有了显著改进。它包含一组特定的库来帮助你编写多平台代码。

要了解更多信息,请阅读“如何开始使用 MPP 跨平台共享代码 ":
https://kotlinlang.org/docs/reference/multiplatform.html

你使用多平台项目(MPP)特性吗?

你针对哪些平台使用 MPP?

最常见的平台栈组合是 JVM 和 JavaScript、Android 和 iOS。

MPP 用户的应用类型

在你当前的项目中,哪些部分跨多个平台共享?

你希望把 MPP 用在哪些平台上?

在你当前的项目,你愿意把哪些部分跨平台共享?

我们询问了尚未使用 MPP 的受访者,他们的项目中是否有一些部分想要在平台间共享,以及这些平台是什么。我们惊讶地发现,高达 75% 的未使用 MPP 的受访者愿意共享他们当前项目的某些部分,尤其是算法和数据结构(41%)和数据格式(32%)。

工具

毫无疑问,Kotlin 和 IntelliJ IDEA 是一对完美的组合。

Android Studio 基于 IntelliJ 平台,也为移动开发提供了良好的用户体验。根据调查,这两个 IDE 都是领先者。

你在进行 Kotlin 开发时主要使用哪个平台?

Kotlin/JVM

Kotlin/Android

Kotlin/JS

Kotlin/Native

你使用什么构建工具?

全部答复

最流行的 Gradle 版本是 4.1 和 5.0。

Kotlin/JVM

Kotlin/Android

Kotlin/JS

Kotlin/Native

你当前在使用什么 JetBrains Kotlin 库和框架?

Kotlin/JVM

Kotlin/Android

Kotlin/JS

Kotlin/Native

自 2017 年以来,库的使用量几乎翻了一番,使用最多的库,其受欢迎程度继续增长。

“其他”类别包括使用率少于 5% 的库;它们的使用率基本保持不变。

你当前还在使用其他哪些 Kotlin 库和框架?

Kotlin/JVM

Kotlin/Android

Kotlin/JS

Kotlin/Native

学习资源

与 2017 年相比,2018 年受访者更倾向于使用社区驱动的资源。博客文章和 Stack Overflow 超过了官方文档。

作为 Kotlin 知识来源的聚会和会议受欢迎程度增加了 70%。YouTube 上的内容以及 Github 上的样例和实例也很受欢迎。

我们 Kotlin 团队很高兴看到社区驱动的内容在数量和受欢迎程度方面的增长。我们一直支持这一点,并感谢所有作者和演讲者分享他们的 Kotlin 知识!

如果你是 Kotlin 活动的组织者、演讲者或作者,请阅读更多关于我们的社区和支持项目的信息

哪些资源帮助你学习 Kotlin?

用户统计

你的主编程语言是什么?

39% 的受访者表示 Kotlin 是他们的主编程语言。

你在工作中是什么角色?

你的公司 / 组织有多少人?

简而言之,各种规模的组织都在使用 Kotlin。

Kotlin 和数据

Kotlin 似乎是一种很有前途的数据处理编程语言。

这个图表显示了使用 Kotlin 进行机器学习、数据分析或 BI 的开发人员的统计数据,大约占所有调查对象的 10%。

Kotlin 在机器学习、数据分析或 BI 中的使用情况

如果你对在数据科学中使用 Kotlin 感兴趣,请查看 Thomas Nield 在 Github 上收集的有用资源

方法和原始数据

数据包括来自 Kotlin 官方频道的 4396 条回复。调查结果发布在 Kotlin 博客上,并通过 Twitter 和 Facebook 等内部渠道分享。

这些信息图表只包含最有趣的事实。欢迎深入挖掘原始数据,并发现更多的见解。下载 Kotlin Census 2018 原始数据,请点击:
http://resources.jetbrains.com/storage/products/research/kotlin-census-2018/data/data.zip

这些数据经过匿名处理,没有个人信息或地理位置信息。为了防止任何个别答复者的评论被逐字指认,所有自由回答的信息段都已缩减。

英文原文: https://www.jetbrains.com/research/kotlin-census-2018/

收藏

评论

微博

发表评论

注册/登录 InfoQ 发表评论

最新评论

想着你d美 2019 年 05 月 21 日 19:46 1 回复
中型项目使用了kotlin一年半后,新项目决定放弃使用kotlin,golang+clang能适用大部分业务需求和效率需求。
Quasimodo 2019 年 05 月 21 日 10:54 0 回复
kotlin天下第一
没有更多了