The introduction of Kotlin has brought up a number of questions. Where did it come from? Should already successful apps that are written using the traditional stack adopt the recently popularised programming language?
Specialising in developing products for iOS and Android, we would like to help business owners and key executives make informed decisions regarding brand-new technologies. In order to do that we have carefully weighed the pros and cons of the Kotlin programming language.
But before we get down to business, let’s throw some light on when and where Kotlin appeared.
Kotlin is a statically-typed open-source programming language generating code that can run on the Java virtual machine. It was developed by JetBrains. Its name comes from the Kotlin Island which is situated near St. Petersburg, Russia.
While the syntax of the language is not compatible with Java, which was commonly used to develop apps for Android platform, it can interoperate with Java code. In other words, code written in Kotlin works with Java as well as it does natively.
Kotlin uses aggressive inference to determine the types of values and expressions if they were not clearly stated. It makes the language even more distinctive from Java which sometimes requires repetitious type specifications.
Despite being introduced back in 2011, it has grabbed the interest of the global community only after the announcement about being officially supported as a first-class Android development language. Frankly speaking, leading tech companies like Atlassian, Uber, Pinterest, and Netguru had started using Kotlin for Android app development long before it was officially supported.
If you want to join the group of innovators, you should learn about the advantages and disadvantages of this technology before using it for your app.
It seems like Kotlin has become loved by mobile developers, who now prefer it to its elder counterpart - Java. Here is a list of Kotlin’s most prominent benefits:
Being rather clear and compact, the language allows increasing the efficiency of the team thanks to its succinct and intuitive syntax. More work can be done as it takes less time and fewer lines to write and deploy working code.
Kotlin is positioned as a 100% Java-interoperable programming language. It is consistent with Java and all related tools and frameworks, which makes it possible to switch to Kotlin step by step. In case your product cannot be written in Kotlin only, both languages can be comfortably used at the same time.
Kotlin is supported by a vast majority of IDEs, including Android Studio, and other SDK tools. This helps increase developers’ productivity, as they can continue to work with the toolkit they are used to.
Kotlin offers a much more clear and compact codebase that makes the code in production more stable and consistent. Bugs get detected at compile time, so developers can fix errors before runtime.
Nothing is perfect, and neither is Kotlin. So don’t rush to use it in production before considering its disadvantages:
Sure, they are similar, but at their core these are two different languages. Developers won’t be able to quickly shift from one to another without taking some time to learn Kotlin. Therefore, if you consider changing your company’s approach to Android app development, it will require additional expenses on training the team.
In some cases, Kotlin is by far faster than Java, but sometimes it can get significantly slower and no one knows why. It just happens.
Despite the fact that Kotlin is gaining momentum, the community of developers is still relatively small compared to Java. Therefore, there are only a few experienced people to ask and a few tools to use to pick up some tricks.
The demand for specialists has abruptly escalated after the announcement of Kotlin getting adopted as a first-class program language at Google I/O, but the lack of experts on the market may cause the talent gap to become even wider.
As you see, there are no reasons not to try going Kotlin. You can give Kotlin a try right now and let your developer crew gain some experience in using a more advanced tech stack for Android app development.
You don’t have to hurry to replace the regular tech stack with Kotlin and other newbies. Try baby steps instead! This language is still very new, with limited opportunities and only a few experienced developers.
We have already begun introducing this technology little by little: our experts are learning to use and apply it to the current projects. Thus, we are not planning to drop Java right now.
If you have questions regarding the tech stack for Android app development, drop us a line. Our team will be glad to hear you out and think up a solution matching your needs.
By Helen Morrice from IDAP Group.