Google announced during the keynote of the Google I / O 2017 the arrival of a new programming language for Android applications: Kotlin. A real revolution for developers!
Android is an operating system that will soon celebrate its 10 years. Its architecture involves different programming languages and the layer closest to the user is naturally the applications. Until now, Google only supported the Java language to develop the famous applications you use on a daily basis. There are several versions of Java, the most recent of which is named Java 8 (Java 9 is planned for this summer).
On the Android side, support for Java 8 is currently only in beta due to various prevarication of Google on its integration. Java version that dates from ... 2014! But today Java is a language more and more decried, because modern languages have somewhat corrupted it. The developers iOS no longer hesitated to make fun of Android, because Apple has developed its own language: Swift.
Rumors circulated a year ago on the support of a new language to complement Java. But during the Google I / O 2016, we were treated to a radio silence. Google engineers then denied the use of Swift as a whole, although the language is open source.
But this edition of the Google I / O has generated great relief from Android developers, since Kotlin support has been formalized. This programming language developed by JetBrains (which is due in particular to IntelliJ, the environment that serves as the basis of Android Studio) has already been used by some developers for several months / years, despite the lack of official support.
What is Kotlin?
The addition of this new language also raises many questions. The first and not least is that Kotlin does not require to rewrite all applications. It is quite possible to make live Java code and Kotlin code. It is easy to understand why Google has opted for this solution that offers a smooth transition. Kotlin is also a robust and proven language, since it is available for almost five years and is already used in production on Android applications. Some examples: Flipboard, Pinterest or Expedia.
What does Kotlin offer?
The list of functionalities would be too long to make, but we can summarize simply in a language richer, flexible and concise. If we had to cite some functionalities: no longer need to put semicolons at the end of each statement, end null checks, type inference, extend existing classes, intelligent casts ... An official page details More precisely the differences that can be found with Java.
What future for Java and C / C ++ on Android?
On stage, Google has said loud and clear: the support of Java, C and C ++ will be the same as today. Kotlin is simply a new language supported.
And Android Studio?
Android Studio is based on IntelliJ, which itself supports Kotlin. Therefore, if you use at least Android Studio 2.0, the IDE knows how to manage this new language.
On Android Studio 3.0 (currently in Canary version), an intelligent copied / pasted function will be available. To do this, copy Java code and paste it into a Kotlin file. Automatically the IDE will transform the code for you.
Good news for the end user
And make life easier for developers, it's also a good thing for application users. A more concise language is also fewer potential errors, and therefore fewer long-term crashes. As application development is facilitated, it is also hoped that applications and new features will be deployed more quickly.
If you're starting Android development, do not waste time and go directly to Kotlin!