Why Google preferred Kotlin-First Approach for Android App Development?
Published: 2020-04-21 09:53:12

In 2019 Google announced that Kotlin would be their preferred language for Android app development. According to the chief advocate for Android, Chet Hasse, "*Many new Jetpack APIs and features will be offered first in Kotlin. If you're starting a new project, you should write it in Kotlin. Coding in Kotlin often means much less code for the developer to manage–less code to type, test, and maintain.*"

Although Google has not withdrawn support for Java, taking a Kotlin first approach speaks volumes about the future strategy of the company. In this article, we shall discuss how developing on Kotlin can prove beneficial to you.

## Origin of Kotlin

Kotlin was launched in June 2011 by a software development company based in Russia called the JetBrains. The software developers at Jetbrains found themselves in a position, where Android Programming in Java had reached its limits. They were spending more time in thinking how to code instead of doing the real work.

Fed up with it, the developers at Jetbrains decided to create their own programming language, a language that will allow them to be more productive by ensuring that they can code more in less time. 

Kotlin allows the developers to use lesser characters than Java and program with the same efficiency without losing the clarity of code. Kotlin is less error-prone and faster as compared to Java.

Android developers took notice of this rookie, and Kotlin quickly rose in popularity. So much so, that [Google in 2017 announced that Android was now officially supporting Kotlin](https://www.topdevelopers.co/blog/google-io-2017-event-grabs-worlds-attention/).

## Key advantages of adopting Kotlin

### Open-source

Kotlin was made open-source by its parent company in 2012. Since then, the developer community of Kotlin has grown. This helps in growing Kotlin, as many enthusiastic developers are willing to lend their time and expertise to the new developers trying to learn Kotlin.

### Mature language with IDE support
Kotlin has gone through many stages of improvement before being released, and it was used in many Android projects much before Google announced its official support for the language. Hence Kotlin got the chance of evolving into a more mature language. JetBrains, the company which released Kotlin, is the same company that programmed IntelliJ, an IDE on which the [Android Studio](https://www.topdevelopers.co/blog/android-studio-3-2-rolled-know-updates-features) is based.

Hence Kotlin enjoys a much deeper level of support with Android Studio than other languages. The IDE will run smoothly on Kotlin as it comes equipped with several popular features of Java like- auto-completion, debugging, unit testing and full refactoring support.

### Improves efficiency
Kotlin is a highly concise language which means that you can code in Kotlin using much fewer lines than in Java. Having lesser lines of code reduces the occurrence of bugs significantly. Kotlin enhances the system by reducing the amount of boilerplate code.  

Kotlin gives the developers access to features like properties, type interfaces, data classes, and smart casts. These features help the developers in building a more reliable base of code which has much fewer bugs. 

Kotlin also supports the concept of functional programming, which helps in improving the performance of your mobile app via inlining. With Kotlin, you can shift between different useful ideas in a much more concise and easy way.

Kotlin helps in boosting the productivity of the developer as it allows them to leverage the benefits of features like object declarations, extension functions and the parameter values which have been inducted into Kotlin to speed up the development process.

One of the primary goals of the Kotlin team, while developing this language, was to improve the compiler. The compiler of Kotlin applies the fail-fast principle and detects errors while compiling and not during the runtime. The compiler of Kotlin also performs many checks and helps in reducing the number of bugs in the code. 

The clean code of Kotlin is easy to decipher even for a novice programmer, and it is a language that is easier to maintain as compared to other programming languages.

### Kotlin is Safer
While designing Kotlin, the team at JetBrains took sufficient precautions to ensure that the language was much safer than Java. One of the main issues with Java is that it is an error-prone language as it is a very verbose language. You have to type multiple lines of code to execute a simple function.

Kotlin removes this inherent flaw of Java by reducing the amount of code to be written. And thus, making Kotlin a lesser error-prone language.

Kotlin deals with a considerable problem in Java, The Null pointer exception (NullPointerException). Nulls are the points where most developers slip and commit errors. In Kotlin, you will not find null. In case the developer wants to use the null value, then Kotlin will force the developer to check the null value before doing anything else with the variable. 

Thus Kotlin has eliminated the issue of null pointer exception by improving the design of its language. With the null pointer exception resolved, Kotlin experiences less system failures and application crash as compared to that when coded in Java. 

Apart from this, Kotlin uses a single annotation, @Parcelize on a given class to deal with parcelable serialization. Kotlin allows the developers to write asynchronous code in the forms of blocks, thus making it possible to focus on the data instead of worrying about how to fetch it.

Kotlin is safer by design, as it ensures that the developers think about the issues that will creep into the code before they have arisen.

### Compatible with Java
Coding with Kotlin allows you the luxury of deploying a Kotlin and a Java code side by side as it enjoys high compatibility with Java Programming. You could easily interchange Kotlin's code with Java, and this will have no bearing on the outcome of your Android project. 

All the major frameworks and libraries of Java are provided in Kotlin, which improves the interoperability of Java and Kotlin. You can convert an entire Java file into Kotlin with just a few clicks.

### Easy to learn
For those who know Java, it is pretty easy to learn Kotlin as the syntax used in Kotlin is almost same as that of Java. While designing Kotlin, the developers at JetBrains took special care to ensure that the language was similar to Java Language. Because if not, it would have affected their projects as Kotlin was developed initially as an in-house project in JetBrains. There are considerable similarities in the structure of Java and Kotlin.

**Winding up**
By taking a Kotlin-First Approach towards its android development process, Google has set the snowball rolling. With the developer community already raving about the benefits of Kotlin, and companies like JetBrains and Google solidly backing the language, it would be safe to say that the future of Kotlin is bright. 

Although there are many similarities between Kotlin and Java, it is better to [hire professional  android developers](https://www.topdevelopers.co/directory/mobile-app-developers/android) for your next Android project, so that they can take full advantage of the features that Kotlin offers.