App Types

25% of users are developing 2 types of apps with Kotlin.

15% develop 3 types of apps, but still most developers use Kotlin in production for just one type of app. The most popular combinations are Web Back-end with Mobile and Web Back-end with Library or framework.

What types of apps do you develop in Kotlin?100+%

58%48%26%16%15%11% 6% 6% 4% 4% 2% 4%MobileWeb Back-endLibrary or frameworkDesktopToolingWeb Front-endGame developmentData analysis / BIIoTMachine learningEmbeddedOther
Production
Non production
66%/46%46%/51%28%/23%16%/15%13%/21% 9%/13% 6%/6%MobileWeb Back-endLibrary or frameworkToolingDesktopWeb Front-endData analysis / BI
All results

Multiplatform Projects

Multiplatform Projects first appeared in Kotlin 1.2 and it was then significantly improved upon for the Kotlin 1.3 release. It includes a set of specific libraries to help you write multiplatform code.

Multiplatform Projects first appeared in Kotlin 1.2 and the feature was drastically improved in Kotlin 1.3. A set of specific libraries is provided to help you write your multiplatform code.

Learn more about how to start sharing code across platforms with MPP.

Do you use the Multiplatform Projects (MPP) feature?

No
Yes
89%11%

Which platforms do you use MPP for?100+%

71%61%49%40%25%21%18%16% 5% 2%JVMAndroidJavaScript in browseriOSLinuxWindowsJavaScript in node.jsMacEmbedded systemsOther

Interesting fact

The most common combinations of platform stacks are JVM together with JavaScript, and Android together with iOS.

App types of MPP users

68%56%45%38%31%22%15% 9% 9% 6% 5% 5%MobileWeb Back-endLibrary or frameworkWeb Front-endDesktopToolingGame developmentIoTData analysis / BIMachine learningEmbeddedOther

What parts of your current project do you share across multiple platforms?100+%

64%51%39%25%21%20% 8% 7% 6% 6% 3%Algorithms and data structuresData formatCommunication protocolsTestsEverythingValidation rulesSecurityUIRPC, RMIML modelsOther

Which platforms would you like to use MPP for?100+%

52%Android
43%JVM
39%iOS
29%Linux
28%JavaScript inbrowser
24%Windows
22%Mac
13%JavaScript innode.js
9%Embeddedsystems
1%Other
22%None

Which parts of your current project would you like to share across multiple platforms?100+%

41%32%28%25%15% 9% 8% 7% 6%25%Algorithms and data structuresData formatCommunication protocolsEverythingTestsSecurityUIRPC, RMIML modelsNone

We asked the respondents who do not use MPP yet if there were some parts of their projects they would like to share across platforms, and which platforms those would be. We were surprised to find out that a whopping 75% of our respondents who do not use MPP yet would be glad to share some parts of their current project, especially algorithms and data structures (41%) and data format (32%).

Tools

There should be no surprises that Kotlin and IntelliJ IDEA, both developed by JetBrains, are a perfect match.

Android Studio is based on the IntelliJ Platform and provides a great user experience for mobile development too. Both of these IDEs are the leaders according to the Census.

44%
Android Studio
37%
IntelliJ IDEA Ultimate
16%
IntelliJ IDEA Community Edition
1%
VSCode
0%
Eclipse
0%
CLion

Which IDE do you mostly use for Kotlin development?

54%23%21% 1% 1% 0% 1%IntelliJ IDEA UltimateIntelliJ IDEA Community EditionAndroid StudioVSCodeEclipseCLionOther
76%15% 8% 1% 0% 0% 0%AndroidStudioIntelliJIDEAUltimateIntelliJIDEACommunityEditionVSCodeEclipseCLionOther
60% 22% 12% 3% 1%NaN% 2%IntelliJIDEAUltimateIntelliJIDEACommunityEditionAndroidStudioVSCodeEclipseCLionOther
39%30%23% 4% 1% 1% 2%IntelliJIDEAUltimateAndroidStudioIntelliJIDEACommunityEditionVSCodeCLionEclipseOther

IntelliJ IDEA for Kotlin development

A capable and effective IDE for the JVM and beyond

Try now

What build tools do you use?100+%

86%24%14% 2% 1% 1%GradleMavenIntelliJ IDEA build systemANTKobaltOther

What build tools do you use?100+%

80%33%17% 2% 1% 1%GradleMavenIntelliJIDEAbuildsystemANTKobaltOther

What build tools do you use?100+%

97%12%12% 1% 0% 1%GradleIntelliJIDEAbuildsystemMavenANTKobaltOther

What build tools do you use?100+%

85%28%24% 3% 1% 3%GradleMavenIntelliJIDEAbuildsystemANTKobaltOther

What build tools do you use?100+%

88%21%20% 3% 2% 2%GradleIntelliJIDEAbuildsystemMavenANTKobaltOther

The most popular Gradle versions are 4.1 and 5.0.

Libraries

What JetBrains Kotlin libraries and frameworks do you currently use, if any?100+%

2018
2017
46%/29%19%/18%18%/6%11%/17% 6%/5% 6%/3% 6%/6% 5%/8% 3%/3%15%/15%26%/43%kotlinx.coroutineskotlin.testKtorAnko Commonskotlinx.htmlExposedAnko CoroutinesAnko Layoutskotlinx.domOtherNone
48%24%24% 9% 8% 8% 7% 4% 4% 4% 3% 3% 2%kotlinx.coroutinesKtorkotlin.testkotlinx.htmlExposedAnko CommonsI don’t knowkotlinx.domAnko LayoutsAnko Coroutineskotlin-wrappers/kotlin-reactkotlin-wrappers/*kotlin-wrappers/kotlin-css
All results
49%19%17%15%10% 9% 9% 5% 3% 3% 2% 2% 1%kotlinx.coroutinesAnkoCommonskotlin.testKtorIdon’tknowAnkoCoroutinesAnkoLayoutskotlinx.htmlExposedkotlin-wrappers/*kotlinx.domkotlin-wrappers/kotlin-reactkotlin-wrappers/kotlin-css
All results
62%42%39%34%26%18%15%12%11% 8% 7% 5% 4%kotlinx.coroutinesKtorkotlinx.htmlkotlin.testkotlinx.domkotlin-wrappers/kotlin-reactkotlin-wrappers/*Exposedkotlin-wrappers/kotlin-cssAnkoCommonsIdon’tknowAnkoCoroutinesAnkoLayouts
All results
60%41%34%14%12%10% 9% 9% 7% 7% 7% 7% 5%kotlinx.coroutinesKtorkotlin.testkotlinx.htmlAnkoCommonsExposedAnkoCoroutinesIdon’tknowAnkoLayoutskotlin-wrappers/*kotlinx.domkotlin-wrappers/kotlin-reactkotlin-wrappers/kotlin-css
All results

The usage of libraries has almost doubled since 2017, and the most used libraries continue to grow in popularity.

The 'Other' category includes any libraries with a usage of fewer than 5%; their frequency has remained mostly unchanged.

What other Kotlin libraries and frameworks do you currently use, if any?100+%

2018
2017
28%/22%23%/23%20%/20%19%/16%16%/4%11%/6%11%/5%11%/1% 7%/7%52%/39%Kotlin Android Extensionsmockito-kotlinRxKotlinjackson-module-kotlinktlintKotlinTestdetektkoinTornadoFXOther
All results
36%27%26%22%19%15%15%13%10%10%10% 9% 6%Spring Bootjackson-module-kotlinSpringmockito-kotlinKotlin Android ExtensionsktlintRxKotlinKotlinTestTornadoFXdetektOkiokoinRxBinding
All results
49%31%25%19%19%16%15%13%12%10% 8% 8% 5%KotlinAndroidExtensionsRxKotlinmockito-kotlinOkioktlintkoinRxBindingdetektSpringBootKotlinTestjackson-module-kotlinSpringTornadoFX
All results
25%21%19%19%15%15%14%13%12%10% 9% 8% 6%SpringBootjackson-module-kotlinSpringKotlinAndroidExtensionsTornadoFXmockito-kotlinKotlinTestOkioRxKotlinktlintdetektkoinRxBinding
All results
27%21%18%17%15%14%14%14%14%13%10% 7% 7%KotlinAndroidExtensionsSpringBootRxKotlinmockito-kotlinSpringOkiojackson-module-kotlinktlintTornadoFXKotlinTestkoindetektRxBinding
All results

Learning resources

Respondents tended to use more community-driven resources in 2018 than in 2017. Blog posts and Stack Overflow overtook the official documentation.

The popularity of meetups and conferences as a source of Kotlin knowledge has increased by 70%. So has the popularity of YouTube content and samples and examples on Github.

We on the Kotlin team are excited to see the growth of community-driven content in terms of quantity as well as popularity. We support this all the way and we thank all the authors and speakers out there for sharing their Kotlin knowledge!

If you are a Kotlin event organizer, speaker, or author, please read more about our Community and Support Program.

What kinds of resources help you learn Kotlin?100+%

2018
2017
72%/44%64%/63%59%/86%52%/48%41%/35%33%/33%31%/19%29%/22%26%/36%25%/19%Blog postsStack OverflowSite documentationSamples and examples on githubKotlin source codeBooksConferences and meetupsYouTubeJava 2 Kotlin converterFriends and colleagues
All results

Demography

What is your primary programming language?100+%

2018
2017
42%/49%39%/37% 3%/2% 3%/2% 3%/2% 2%/1% 8%/7%JavaKotlinPythonC#JavaScriptC++Other

Kotlin is a primary language for 39% of respondents

What is your job role (job roles)?100+%

86%25%20%12% 5% 3% 3% 3% 2% 1% 1% 2%Programmer / Software Engineer/ DeveloperSoftware ArchitectProject Lead / Team LeadStudentSystems Analyst / EngineerCIO / CEO / CTOUX / UI designerTeacher / ProfessorData analyst / Data scientistData Architect / DBAQA EngineerOther

How many people work for your company / organization?100+%

9%13%20%28% 6%10%12% 2%Just me2–1011–5051–500501–1,0001,001–5,000More than 5,000Not sure

In short, Kotlin is used by organizations of all sizes.

Kotlin and data

Kotlin seems to be a promising programming language for working with data.

This chart shows the statistics on developers using Kotlin for machine learning, data analysis, or BI, which is around 10% of all survey respondents.

Kotlin for machine learning, data analysis or BI

Data analysis / BI
Machine learning
Both
64%36%10%

If you are interested in getting started with Kotlin for data science, check out the collection of helpful resources assembled by Thomas Nield on Github.