Kotlin – The Present and the Future of Android App Development
“Kotlin isn’t revolutionary but feels like a very careful amalgamation of some of the best features of other languages. Its approach is very pragmatic and emphasizes interoperability with Java and a lack of surprise.”
~ Rob Fletcher, Netflix
In today’s fast-paced Android app development battlefield, Java had already proved itself as a strong warrior that died plenty of times just to be revived as many times. But on one bright day, May 17, 2017, the story took a U-turn, setting Java on the path of decline. This was the day when 2017 Google I/O Developer Conference was held and Kotlin was announced as an official programming language for the Android mobile platform.
When Google announced Kotlin as its next official programming language for Android, its popularity saw a manifold increase in various regions. As per the report of Realm, 20% of android apps that were previously built on Java before the Google I/O 2017 conference, were then migrated on Kotlin, thereby increasing its adoption rate from 7.4% to 14.7%.
(Image Source: https://blog.jetbrains.com/kotlin/2017/11/kotlin-1-2-released/ )
Such numbers justify the preference that Kotlin is receiving from the Android mobile app developers. The language has become the center of attraction for big brands like Amazon, Netflix, and Pinterest, and unlocked the way to the elite of the programming world.
Kotlin is a sensible enrichment of Java, which is being used by big names like Pinterest for new features of their Android app. In the following video, Christina Lee talks about her experience in using Kotlin on Pinterest
(Video Source: https://www.youtube.com/watch?v=xRDqDe4rxkM )
The Birth of Kotlin
Kotlin’s first version was released on February 15, 2016, but its evolution started in 2011 in Russia. To satisfy their practical needs, the parent company of Kotlin, JetBrains was looking for an alternative to Java. 70% of the products of the company were developed on Java but soon the company started to face its limitations — majorly extreme verbosity.
They started searching for a new Java-compatible language because of already existing big-sized Java code base. The company began its experiments with Scala but it ended up being slow in terms of compilation speed, thereby unable to satisfy the needs of the company.
Hence, JetBrains decided to come up with their own programming language, which was powerful, flexible, and democratic in nature, known as Kotlin today.
The Key Benefits of Adopting Kotlin
The main reason for the adoption of Kotlin as a preferred programming language for Android app development is the official support of Google to use the language to write Android apps. However, there are many developers, who still feel that there are insufficient reasons for a change from Java to Kotlin.
Shifting to Kotlin is one of the best decisions an Android app development companies can make. Following are the few high impacting benefits of adopting Kotlin as your preferred programming language for all your projects:
- Fewer Bugs, More Productivity
The verbose nature of Java has been its shortcoming for a long time. On the other hand, Kotlin is built to lower down the number of boilerplate code that a developer is required to write.
Kotlin Android extensions have the potential to quickly import references into Activity files within Views, which can become a part of the Activity by using it in the code. Thus, unlike Java, in case of Kotlin, the developers can dodge the re-writing “FindViewById()” method for every case.
As per the JetBrains, the clean and powerful syntax of Kotlin results in 40% fewer lines of code, maintaining the size and efficiency of the generated bytecode at the same time. The real test results reveal that on converting the app named “App Lock” from Java to Kotlin, the code count dropped by 30%, from 12,371 lines of Java to 8,564 lines of Kotlin.
Being cleaner and concise, Kotlin helps developers come up with a stable code, containing fewer bugs with minimal efforts and more productivity.
- 100 Percent Trouble-Free Transition
Andrey Breslav in his blog mentioned that “…one of the keys focuses of Kotlin has been interoperability and seamless support for mixed Java+Kotlin projects…”
Kotlin was built with a major emphasis on its interoperability with its big brother ‘Java.’ Interoperability means that any Java code can be translated into Kotlin or vice versa without bringing any change in their operability.
In new Kotlin projects, you can make use of Java frameworks and libraries without any requirement to change the entire project in Java. In a nutshell, a project has the potential to get compiled both in Java and Kotlin programming languages.
For businesses, they can make use of their existing developers by getting them trained on Kotlin, instead of hiring a brand new team to develop Android apps in Kotlin. Resource utilization is one of the big factors to consider shifting from Java to Kotlin.
- Kotlin is Built with Fail-Fast
It is a fact that the time taken for a bug to appear on the surface is proportional to the time taken to fix the same and the cost it involves to fix it.
To counter this fact, Google has introduced a change in its new programming language – it has made Kotlin fail-fast.
A fail-fast system alarms any issue in coding, thereby reducing the bugs and avoiding the errors that could result in a big failure. The fail-fast system fails as soon as a problem makes an effort to ruin the project. Thus, it becomes impossible for Kotlin developers to go ahead with the mobile app development process.
The three library functions that make this system robust are: Check, Require, and Assert.
- Require: It is used to check for invalid arguments, preventing an object from going into an invalid state.If the first argument is false, the Require function throws an ‘IllegalArgumentException.’
- Check: It is somewhat similar to the Require function and is used when there is a need to make sure that the object is already in a valid state. Instead of ‘IllegalArgumentException,’ the Check function throws ‘IllegalStateException’ if the argument is not true.
- Assert: This function is similar to the Check and the Require functions. The only difference is that it throws an ‘AssertionError’ instead of ‘IllegalArgumentException’ and ‘IllegalArgumentException.’
- Android Studio Comes in Complete Support for Kotlin
The IDE vendors who have developed IntelliJ (base of Android Studio, the third most popular IDE with just under 10% share and almost 9% growth) also built Kotlin. It is evident that Android Studio will fully support Kotlin programming language, making sure that there is an easy switch for developers from Java to Kotlin.
Moreover, the seamless integration of Kotlin with Android Studio makes it super-fast. Even for the first timers, the Kotlin project can become functional in just a few minutes.
(Image Source: https://kotlinlang.org/docs/tutorials/getting-started.html )
It is very easy for Android Studio to read, compile, and run a Kotlin-based code. Whether its code navigation, refactoring or debugging, Android Studio comes up with a holistic approach for all vital tasks in Kotlin. Java-to-Kotlin conversion also becomes possible as soon as your Android Studio project gets configured to support Kotlin.Final Thoughts on Kotlin
“Android developers have an official guarantee that the language will be supported, which will lead to further adoption of Kotlin.”
~Andrey Breslav, the lead language designer of Kotlin at JetBrains
New programming languages take birth in response to the needs and the challenges raised by the developer community. Kotlin took birth for the same reason, and the features – Android Studio support, Interoperability with Java, Fail-Fast system, and Conciseness that come with it, helped Google validate the language’s position in the Android app development world.
The benefits of Kotlin have acted as a perfect panacea to the hiccups that the Android app developers were suffering with, over a long period of time.https://www.cosplayshot.com/kotlin-the-present-and-the-future-of-android-app-development/Web Design