Any major changes in established business and development processes cause a sense of concern for a process integrity and possible profits lost due to downtime which appeared for a process update. The same situation was in our team when we had decided to start using Kotlin as one of the main Android development languages. Thus, In this article you can read developer and manager’s vision about how it was.
Let's begin by understanding Kotlin determination.
The 1st milestone was released in February and included plugin for IDEA. The 2nd milestone was in June with the help of Android. In December, 4th milestone was presented and included Java 7 support in particular.
The first official 1.0 release was in February 2016.
My acquaintance with Kotlin took place in May 2016. It was a year before, when at Google IO conference 2017 it was recognized as an official language for Android development along with Java. Since that moment, I’ve discussed new language with other developers many times.
Someone of them continued to write in Java or either imbued with innovation and have started using Kotlin in their work. When I joined Roll’n’Code team - Kotlin wasn't used before. But it was a great reason to investigate its work in combination with Java within one project.
Therefore, Kotlin was appreciated by its multiple advantages over Oracle product.
Some developers were admired by the new language from the very beginning.
I can’t say the same and do not recommend others to expect miracles immediately. The first impression was like a very close analogue Java. It took some time and more in-depth acquaintance with its capabilities for deeply language estimation.
Before May 2017 there was a sufficient number of developers and entire companies who have adopted Kotlin. Now, after the official announcement, a considerable number of people are with enthusiasm want to study it.
There are lots of articles on social media which describe Kotlin possibilities and its advantages over Java. But most of articles are oriented on developers. People who held senior positions in companies are not always well versed in these questions and are not always ready to give a green light to something fundamentally new in an adjusted work process.
The proposal from a new developer "Let's implement my part of the project with Kotlin" sounded to me like "You will work, and I'll dance with a tambourine, and then you'll try to release it ...".
But still, before making a big decision - I Google it. I tried to find information that was proposed by developer and how my colleagues from other companies deal with it.
Until recently, one of the key arguments "against" was “Google does not approve” (although, in fact, Google does not prohibit it)
Despite the absence of this argument now, not everyone is in a hurry to see the pros of the new language introduction. But there are enough pluses.
Besides, young and very ambitious specialists are working on Kotlin development. They are from JetBrains (whose product, IntelliJ IDEA became a basis for Android Studio in due time). This team has tried to take the best options from Java and get rid of its disadvantages while borrowing some points from other languages like Scala and Groovy.
In fact, I realized that a new language would require a new development environment.
And that is moment when questions have appeared like:
1) How much does it cost?
2) How long developer will learn to interact with it?
3) How much time is needed for developers on Java to use Kotlin code correctly?
4) How fast investments will paid off?
Interested? Find answers in our next article.
To be continued...
The global mobile advertising market will hit two significant milestones in 2...How to Calculate Mobile Advertising Revenue for app with 100,000 users?
Outsourcing today is one of the most popular ways to deliver products. But le...Should start-ups outsource their project?
Python is well-known among the most commonly used programming languages in th...Python in Healthcare
Nowadays mobile phones are getting more and more advanced. People can’t...Mobile Banking:Advantages and Disadvantages?