Kotlin调查报告:40%开发者将其作为主编程语言
作者 | JetBrains 博客
译者 | 平川
我们现在展示的是 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 社区的趋势、状态和语言使用情况。
1、 你主要用 Kotlin 做什么?
超过一半的受访者在他们的生产代码中使用 Kotlin。Gradle、Pinterest、Atlassian、Pivotal 等许多公司都在生产中使用 Kotlin。
2、 是什么阻止了你在生产中使用 Kotlin
55% 的受访者表示,缺乏知识是他们在生产中不使用 Kotlin 的主要原因。我们编制了一个有用的资料清单,帮助任何人开始学习 Kotlin。
- 官方网站:
- https://kotlinlang.org/docs/reference/
- Coursera 上的 Kotlin for Java Developers 视频课程:
- https://www.coursera.org/learn/kotlin-for-java-developers
- Atomic Kotlin 一书及相关学习资源:
- https://www.atomickotlin.com/atomickotlin/
- 探索 Kotlin 的在线沙箱 Kotlin Playground:
- https://play.kotlinlang.org/
- JetBrains 提供的 Kotlin Edu,一个学习、教授和练习编程的免费工具:
- https://www.jetbrains.com/education/?fromMenu#lang=kotlin&role=learner
请在 Stack Overflow 或 Kotlin 论坛上与社区保持联系,并加入我们的 Slack: https://surveys.jetbrains.com/s3/kotlin-slack-sign-up
3、 你使用 Kotlin 多长时间了?
用户坚持使用 Kotlin。人们对 Kotlin 有了更高层次的了解。如果他们使用 Kotlin 超过一年,看起来他们通常会继续使用它。
4、 Kotlin 的类别
Kotlin 主要有四种类别,可以帮助我们简化编码过程,并为跨平台开发提供更多的机会。Kotlin 面向 JVM、JavaScript、Android 和 Native。这使得该语言成为开发所有类型的应用程序并在流行的操作系统(如 iOS、macOS、Windows 和 Linux)上运行它们的优秀工具。
5、 你使用哪种 Kotlin?
Kotlin 在 JVM 上的使用最为流行,占 67%,Android 紧随其后,占 57%。
6、 你针对哪个 JDK 版本进行开发?
84% 的 Kotlin 用户是针对 JDK 8。第二受欢迎的版本是 JDK 11,占 27%,而 JDK 9 和 JDK 10 各占 8%,落后于前者。
7、你使用 Java 模块吗?
8、你针对哪个 Android 版本进行开发?
9、 你在哪里运行从 Kotlin 编译出来的 JavaScript 代码?
10、 你面向哪个平台 / 操作系统进行开发?
Kotlin 开发者在 2018 年(平均 2.7)面向的平台比 2017 年(2.3)更多,这表明利用其跨平台能力的情况呈上升趋势。
应用类型
25% 的用户正在使用 Kotlin 开发两种类型的应用程序。
15% 的用户开发 3 种类型的应用程序,但大多数开发人员在生产中仅针对一种类型的应用程序使用 Kotlin。最流行的组合是 Web 后端与移动端以及 Web 后端与库或框架的组合。
1、 你使用 Kotlin 开发哪种类型的应用?
多平台项目
多平台项目首先出现在 Kotlin 1.2 中,然后在 Kotlin 1.3 版本中有了显著改进。它包含一组特定的库来帮助你编写多平台代码。
要了解更多信息,请阅读“如何开始使用 MPP 跨平台共享代码": https://kotlinlang.org/docs/reference/multiplatform.html。
1、你使用多平台项目(MPP)特性吗?
2、 你针对哪些平台使用 MPP?
最常见的平台栈组合是 JVM 和 JavaScript、Android 和 iOS。
3、 MPP 用户的应用类型
4、 在你当前的项目中,哪些部分跨多个平台共享?
5、 你希望把 MPP 用在哪些平台上?
6、在你当前的项目,你愿意把哪些部分跨平台共享?
我们询问了尚未使用 MPP 的受访者,他们的项目中是否有一些部分想要在平台间共享,以及这些平台是什么。我们惊讶地发现,高达 75% 的未使用 MPP 的受访者愿意共享他们当前项目的某些部分,尤其是算法和数据结构(41%)和数据格式(32%)。
工具
毫无疑问,Kotlin 和 IntelliJ IDEA 是一对完美的组合。
Android Studio 基于 IntelliJ 平台,也为移动开发提供了良好的用户体验。根据调查,这两个 IDE 都是领先者。
1、你在进行 Kotlin 开发时主要使用哪个平台?
Kotlin/JVM
Kotlin/Android
Kotlin/JS
Kotlin/Native
2、你使用什么构建工具?
全部答复
最流行的 Gradle 版本是 4.1 和 5.0。
Kotlin/JVM
Kotlin/Android
Kotlin/JS
Kotlin/Native
库
1、你当前在使用什么 JetBrains Kotlin 库和框架?
Kotlin/JVM
Kotlin/Android
Kotlin/JS
Kotlin/Native
自 2017 年以来,库的使用量几乎翻了一番,使用最多的库,其受欢迎程度继续增长。
“其他”类别包括使用率少于 5% 的库;它们的使用率基本保持不变。
2、你当前还在使用其他哪些 Kotlin 库和框架?
Kotlin/JVM
Kotlin/Android
Kotlin/JS
Kotlin/Native
学习资源
与 2017 年相比,2018 年受访者更倾向于使用社区驱动的资源。博客文章和 Stack Overflow 超过了官方文档。
作为 Kotlin 知识来源的聚会和会议受欢迎程度增加了 70%。YouTube 上的内容以及 Github 上的样例和实例也很受欢迎。
我们 Kotlin 团队很高兴看到社区驱动的内容在数量和受欢迎程度方面的增长。我们一直支持这一点,并感谢所有作者和演讲者分享他们的 Kotlin 知识!
如果你是 Kotlin 活动的组织者、演讲者或作者,请阅读更多关于我们的社区和支持项目的信息 。 (详见:https://kotlinlang.org/community/)。
1、 哪些资源帮助你学习 Kotlin?
用户统计
1、你的主编程语言是什么?
39% 的受访者表示 Kotlin 是他们的主编程语言。
2、 你在工作中是什么角色?
3、你的公司 / 组织有多少人?
简而言之,各种规模的组织都在使用 Kotlin。
Kotlin 和数据
Kotlin 似乎是一种很有前途的数据处理编程语言。
这个图表显示了使用 Kotlin 进行机器学习、数据分析或 BI 的开发人员的统计数据,大约占所有调查对象的 10%。
Kotlin 在机器学习、数据分析或 BI 中的使用情况
如果你对在数据科学中使用 Kotlin 感兴趣,请查看 Thomas Nield 在 Github 上收集的有用资源 (http:// 数据科学)。
方法和原始数据
数据包括来自 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/
推荐阅读
你以为前端只关乎浏览器页面开发,其实它是技术人的“娱乐圈”。
更多前端好文,点击了解更多