Kotlin生态调查结果出炉:超过6成的开发者用过Kotlin了

简介: imageKotlin 整体的发展速度还是让不少开发者为之兴奋。同时鉴于 JetBrains 和Google 的大力支持,以及开发者社区的热捧,我们也相信它会越来越流行。
img_e548111223444f622e9833e0c339865c.jpe
image

Kotlin 整体的发展速度还是让不少开发者为之兴奋。同时鉴于 JetBrains 和Google 的大力支持,以及开发者社区的热捧,我们也相信它会越来越流行。但如今主要的问题是,它在未来是否会成功地入主 Android 以外的应用?

如今 JetBrains 正在大肆推动 Kotlin 的多平台应用,它是否会得到大家的认可也仍未可知。但是想要它成为 Web、iOS 以及后端开发者新的标准,想必也还需要数年的时间来扩展。根据调查报告显示,越多越多的开发者迈出了 Kotlin 编程的第一步,也可以在面向对象、函数、脚本之间穿梭。这就足以说明,Kotlin 正在渗入到整个开发的生态系统中。

img_36b28d6beb335d9de7f63fd5877787ee.jpe
image
img_e6a3319da6a6a522fed3ffe9ca276cb6.jpe
image

More than half of our respondents have been working as developers for less than 5 years.

They seem to have slightly less work experience than the people who took the StackOverflow survey. Yet, the trusted old math of "the developer population doubling every 5 years" still holds.

img_7708f7a0268bda9b6e1e78cb090fdf7c.jpe
image

The number of people writing Kotlin in organizations varies greatly.

About a third says they have 2-5 people working with Kotlin in their company. This roughly matches the average size of a team developing Android apps.

img_16a1a623d9d5b423653a26bf1b78de3f.png
image

02. A success story in the making

Kotlin’s growth has been doubling each year until 2015, when the first massive spike in its usage happened.

Early that year, Jake Wharton released the documentadvocating Kotlin’s adoption at Square. They are known for creating some of the most popular open source libraries for Android.

As a result, a lot of people followed suit that year, giving talks and writing blog posts about Kotlin.

img_1ed510d309f34836f4f0053b19627657.png
image

Adoption absolutely exploded after May 2017.

Google announced that Kotlin was officially supported for Android and a massive number of Android developers started using Kotlin.

This will likely boost Kotlin’s adoption for years to come. Check out the clip for the huge applause.

img_d007bc2295586363c94075c02e7907a5.jpe
image

Students and young devs trust Google’s flair.

In its early days Kotlin was being picked up mostly by experienced and professional developers, but since the announcement its usage has exploded with newer developers, especially students.

img_86657b8e2cf8d0b245fc69dab16e4a30.jpe
image

Kotlin appeals to developers from varied backgrounds.

Although Java clearly dominates the playing field, our respondents work with many other programming languages. However, a handful of respondents adopted Kotlin as their very first language!

img_7e0980fde2fdd6817deb371519983a0a.jpe
image
img_a6eea8d627ca28236350f76c34058c06.jpe
image

The official website is by far the most popular resource for learning Kotlin.

Students, however, tend to favor courses on YouTube and Udemy, as well as various conference talks and demos.

These websites will likely be joined by streaming and live coding services such as Twitch in the next few years.

img_65833544ce6eb0c2b7fbe8371b7a3d96.jpe
image
img_be9827a8986cb96ce6df2003ef5701aa.jpe
image

Android is Kotlin's killer app

Android is hugely ️ across the board - used by professional developers and students alike. However, when it comes to backend applications, Kotlin’s users tend to be experienced developers.

img_b1c7a8516940078ee0e1593b55c007f0.jpe
image

Everyone has their favorites

Null safety is a favorite feature for everyone who ever had a NullPointerException in Java - i.e. every Android developer .

4% of diehard Star Wars fans selected “First Order Functions” from the questionnaire — a little “easter egg” that slipped in when The Last Jedi was playing in theatres…

img_98a127d4677f9f74471f76ac48b0e5eb.jpe
image

Extension functions are used across the board.

As confirmed by 77% of respondents, extension functions tend to make code more readable, especially when used in a functional programming context or when creating DSLs. The more experienced the respondent, the more likely they are to use them.

img_714b5f2613981f2fdd8d35fd667f6218.jpe
image

...

JetBrains and Android tooling dominates the build tools of the Kotlinverse.

They sit alongside Gradle - the default option for Android projects. The standalone compiler KotlinC barely made the list.

img_586f3fab040bff2b6b78594ee4993799.png
image

Similar to coroutines, DSLs aren’t being widely used yet, as they are seen as a more advanced topic.

About 40% of respondents have used a DSL, and out of those people, a quarter developed DSLs themselves

When asked what kind of DSLs they built, over half of the respondents answered highly specific DSLs - for finance, big data, and other fields. Other often mentioned DSLs include helpers specific to Android, and configuration tools.

img_6f95439af3a099b0f9b92fee3a8a8241.png
image

#Kotlin2019 and beyond

Kotlin's rapid growth is nothing short of exciting. But can it fulfill all its promises?

Given all the support by both JetBrains and Google, and the almost universal love that Kotlin receives in the developer community, we are sure that the language is not going anywhere. The main question is: will it manage to seriously break into the communities outside of Android?
JetBrains is heavily pushing the multi-platform dream, but will it see sufficient adoption in the following months and years? Will Kotlin become the new standard for web, iOS, or backend developers?

Regardless of this, even if it takes years to expand beyond the world of Android, we’ll still see new generations of developers taking their first steps into programming with Kotlin. They will have a modern, versatile, cross-platform language at their disposal. One that can cross between OO, functional, scripting, and declarative paradigms with ease.
This could mean that Kotlin will affect the wider programming language landscape by becoming a benchmark for what a programming language should be able to do.

One thing is for sure: there are exciting times ahead for the Kotlin ecosystem.
What are your opinions or thoughts? Either on the future of Kotlin itself, or this survey? Either drop us an email at stateofkotlin@pusher.com, or use the #StateOfKotlin hashtag on Twitter.

Kotlin从2011年低调问世,在短短几年间,如冲天火箭般流行起来。一年前,谷歌宣布将Kotlin指定为Android官方编程语言;来自Stack Overflow的一项问卷调查显示,超过10万名受调者表示Kotlin是他们的第二大编程语言。英国软件公司Pusher对此感到非常好奇,究竟Kotlin有什么特别的地方,让开发者如此着迷。于是,Pusher公司发起了一项针对Kotlin生态系统的问卷调查,从2018年1月份至3月份,为期三个月,受调者达到2744名。就是这份问卷调查的结果及其简要分析。

2019年的Kotlin将会怎样发展?

Kotlin的快速增长让人兴奋不已,但它是否真的像看起来的那么有前途?

因为有JetBrains和谷歌作为后盾,以及在开发者社区中广泛流行,我们可以确信,Kotlin会一路走好。但关键的问题是:它是否能够突破Android,进入到其他的领域?

JetBrains在极力推动它的多平台梦,但在未来几个月或者几年内是否能够看到令人欣喜的增长?Kotlin会成为Web、iOS或者后端开发者的新标准吗?

不管怎样,即使它需要几年时间才能跨出Android的藩篱,我们仍然会看到新的开发者加入到Kotlin的行列。他们的工具箱里将会多出一门万能的跨平台编程语言,这门语言涵盖了面向对象编程、函数式编程、脚本编程、声明式编程。这意味着Kotlin将会在编程语言领域产生重要影响,成为编程语言的标杆。

有一件事情是可以肯定的:Kotlin生态圈的发展让人拭目以待。


Kotlin 开发者社区

国内第一Kotlin 开发者社区公众号,主要分享、交流 Kotlin 编程语言、Spring Boot、Android、React.js/Node.js、函数式编程、编程思想等相关主题。

img_f0a9a5e3c63edb2cda8899c204e13bbf.jpe
开发者社区 QRCode.jpg
相关文章
|
Android开发 开发者 Spring
Kotlin 开发者社区
Kotlin 开发者社区 国内第一Kotlin 开发者社区公众号,主要分享、交流 Kotlin 编程语言、Spring Boot、Android、React.js/Node.js、函数式编程、编程思想等相关主题。
5071 0
|
Java Android开发 UED
Kotlin转向谷歌云平台,因此开发人员可以像在Android上一样喜欢它。Kotlin是Android开发者的宠儿语言。
image 【中文翻译在后面】 Android developers love Kotlin. Google can tell us that 27% of the top 1,000 Android apps are built usin...
1180 0
|
16天前
|
移动开发 Java Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【4月更文挑战第3天】在移动开发领域,性能优化一直是开发者关注的焦点。随着Kotlin的兴起,其在Android开发中的地位逐渐上升,但关于其与Java在性能方面的对比,尚无明确共识。本文通过深入分析并结合实际测试数据,探讨了Kotlin与Java在Android平台上的性能表现,揭示了在不同场景下两者的差异及其对应用性能的潜在影响,为开发者在选择编程语言时提供参考依据。
|
17天前
|
数据库 Android开发 开发者
构建高效Android应用:Kotlin协程的实践指南
【4月更文挑战第2天】随着移动应用开发的不断进步,开发者们寻求更流畅、高效的用户体验。在Android平台上,Kotlin语言凭借其简洁性和功能性赢得了开发社区的广泛支持。特别是Kotlin协程,作为一种轻量级的并发处理方案,使得异步编程变得更加简单和直观。本文将深入探讨Kotlin协程的核心概念、使用场景以及如何将其应用于Android开发中,以提高应用性能和响应能力。通过实际案例分析,我们将展示协程如何简化复杂任务,优化资源管理,并为最终用户提供更加流畅的体验。
|
26天前
|
调度 数据库 Android开发
构建高效Android应用:Kotlin协程的实践与优化
在Android开发领域,Kotlin以其简洁的语法和平台友好性成为了开发的首选语言。其中,Kotlin协程作为处理异步任务的强大工具,它通过提供轻量级的线程管理机制,使得开发者能够在不阻塞主线程的情况下执行后台任务,从而提升应用性能和用户体验。本文将深入探讨Kotlin协程的核心概念,并通过实例演示如何在实际的Android应用中有效地使用协程进行网络请求、数据库操作以及UI的流畅更新。同时,我们还将讨论协程的调试技巧和常见问题的解决方法,以帮助开发者避免常见的陷阱,构建更加健壮和高效的Android应用。
35 4
|
28天前
|
移动开发 Java Android开发
构建高效Android应用:Kotlin协程的实践之路
【2月更文挑战第31天】 在移动开发领域,性能优化和流畅的用户体验一直是开发者追求的目标。随着Kotlin语言的流行,其异步编程解决方案——协程(Coroutines),为Android应用带来了革命性的并发处理能力。本文将深入探讨Kotlin协程的核心概念、设计原理以及在Android应用中的实际应用案例,旨在帮助开发者掌握这一强大的工具,从而提升应用的性能和响应能力。