
我们现在展示的是 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。
官方网站:
Coursera 上的 Kotlin for Java Developers 视频课程:
Atomic Kotlin 一书及相关学习资源:
探索 Kotlin 的在线沙箱 Kotlin Playground:
JetBrains 提供的 Kotlin Edu,一个学习、教授和练习编程的免费工具:
https://www.jetbrains.com/education/?fromMenu#lang=kotlin&role=learner
请在 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/

评论 2 条评论