First, for Java developers only
As Android developers, there are many ways to write an app and get tired of seeing how the lack of features of the Java (Java6 by default) platform embedded in the Android SDK slows the coding process. Notice that Java6 last public update dates from 2013 and that is the version you are expected to use on Android development with Java. You can use Java8 language features but most of the powerful features can only be used in devices that are running Android 7.0 Nougat (API 24).
By May 7, 2019, Android 10 not released yet, there was a total close to 41.9% devices running Android OS prior Nougat out of 2.5 billion active devices.
This means that all of those devices are not able to take advantage of most of the Java8 features like functional interfaces, Stream API, Concurrency and IO enhancements and more. And without mentioning any of the post Java8 releases (Java13 is already here).
Hello Kotlin
JetBrains, the company that develops IntelliJ IDEA (a powerful Java IDE and what Android Studio is based on), back in 2011 began developing Kotlin, a new cross-platform, general-purpose programming language that inter-operates with Java and the JVM. They addressed some issues that the Java Programming Language has and made a good job of giving Kotlin the ability to run well enough to develop Android applications. This huge effort won some interest in the community and within the Android development team making it a topic of conversation between Android developers a few years ago.
People got started with Kotlin by writing new features and apps from scratch using a couple of Gradle plugins that JetBrains developed but there was no official support from the Android team at Google. At I/O 2017, it was announced that Kotlin was going to be a first-class language for Android development together with Java and C++. They were not replacing anything at this point but it was a big step the fact that a new language has been added officially and allowed developers to write Kotlin code in Android Studio IDE in the easiest way.
2 years later, at I/O 2019, it was announced Kotlin at their most preferred language inside the Android team which meant they will opt the Kotlin-first approach and all the new Android platform support features were going to be developed thinking in Kotlin developers. This way Google has reinforced their support for Kotlin and encouraged developers to write more applications using Kotlin.
Nowadays, most of the Android developer documentation by Google is offered in Kotlin with code examples. New support libraries, Android KTX and more libraries are being released as well in Kotlin. Apps and Open Source libraries are written in Kotlin more and more, and the community has accepted their use.
You may ask, what’s next?
Besides the Java Programming Language is a powerful language and there is no doubt about it, excellent apps can be written by using it as the main language on your Android project but you should get started with Kotlin. It is a modern programming language and it has features that you will want to appreciate when writing your Android app. Today, there is the chance to work with it and it is not a bad idea to start playing with it.
At Wawandco we love Kotlin! And it has been a nice ride since we started using it the last year. We became more productive and we did learn it fast. We encourage you to learn Kotlin if you haven’t already! There are many advantages that you win by using this programming language and it is worthy of giving it a try.