There's a lot of excitement lately in the developer community over Kotlin, and for good reason. Many talented programmers strongly believe that it’s time to jump ship from the Java barge and hop aboard the first bus to Kotlintown.
Excitement for Kotlin in our office has never been higher than in November when the Android engineering team packed our bags and headed out west to San Francisco to catch KotlinConf, the first conference dedicated to the language.
The conference talks were extremely informative and we even got a chance to break away and learn a thing or two about sea lions - more on that later.
Why are we so excited about Kotlin?
Java support on the Android platform has always been a version or two behind which means Android developers are unable to use many of the shiny new features that the language has to offer. Add that to the fact that Java updates are few and far between and you end up with a lot of sad Android developers.
Kotlin, a new language developed by JetBrains, gives Android developers access to a carefully designed, modern language which is 100% interoperable with Java. Kotlin allows us to write cleaner, more concise, and idiomatic code without the verbosity and boilerplate often required in Java.
We are also happy that similarities between Kotlin and Swift are creating new possibilities for cross-platform pair programming.
One talk from KotlinConf shows the potential of iOS and Android developers working together to improve their engineering processes, all while gaining a better understanding and - dare I say - respect for a foreign platform that was once a source of jokes for them.
We’ll never stop reminding iOS developers that their platform is inferior to Android, but at least now we can start to work together more.
What we learned at KotlinConf
It seems JetBrains would like to see Kotlin running on all the things in the future. The keynote confirmed they have been hard at work on Kotlin/Native, which will allow code sharing between web, desktop (Windows, macOS, and Linux), and, last but not least, …iOS. The prospect of reusing the same business models and logic for all platforms is very enticing, and JetBrains knows it.
The organizers developed conference apps for both iOS and Android using Kotlin. They also built the API in Kotlin using Ktor, a framework for building server-side business logic with Kotlin. There was even a game that JetBrains developed specifically for the conference (using 100% Kotlin/Native) where you spin a big letter K to earn points for your team.
As with any application that suddenly gains a large user base, it had some major hiccups that ended up being more entertaining than the game itself. Still, it was proof of concept that you could write an entire application, front-end and back-end, with nothing but Kotlin.
While multi-platform code interoperability is nice and all, this is not actually a post about iOS; so let’s get back to discussing how Kotlin is good for Android specifically. Some of the most informative and useful talks focused on the interoperability between Java and Kotlin. Because both languages compile to JVM bytecode, Java and Kotlin classes can live side-by-side within an Android project.
This significantly lowers Kotlin’s barrier to entry and allows even the largest codebases to begin Kotlin integration promptly. The KotlinConf talks on this subject taught us several techniques to enjoy the best features of Kotlin (null safety) in a codebase that also contains Java (null unsafe). Java-Kotlin interoperability also means that some of the most cutting-edge Android SDKs can be easily used in Kotlin.
One of the talks we attended revolved around Android Things, which allows developers to build and program their own embedded devices powered by the Android platform. The presenter showed off his small robot army and gave us the information required to build our own, all while encouraging us to control it with Kotlin.
It’s still early for Kotlin, but we’re excited
We think Kotlin is still an early technology, but we’re very excited to see it grow and mature. Earlier this year Google bowed to the community and named Kotlin an official language for Android, taking away the biggest excuse the Android community had to avoid accepting this new language.
It’s being adopted by large and small companies worldwide, and there were countless community enthusiasts in attendance at KotlinConf from many high profile companies: Facebook, Pinterest, Atlassian, Netflix, Twilio, Twitter, Southwest Airlines, and of course Google and JetBrains.
Recent findings show that, as of the time of the conference, 17% of all Android Studio projects contain some Kotlin. Google’s Android Studio platform developers are now developing primarily in Kotlin, which is a good indication that they are fully supportive of using Kotlin in production.
We at Vokal couldn’t agree more and are happy to write Kotlin whenever...wherever. We have been using Kotlin for Android at Vokal for a couple of years now and are overjoyed to see it reach wider acceptance. Who knows, maybe someday an iOS developer you know will be writing and loving Kotlin as well.
Appendix: San Francisco and Sea Lion Facts
Speaking of community, we noticed some aspects of San Francisco that were pretty cool. For starters, people in SF think that 55 degrees is cold.
It could be because we live in Chicago, but we’d have to disagree with San Franciscans on that one. However, we can’t judge the city too harshly. I mean, after all, sea lions have their own dedicated docks at Pier 39 in San Fran. That’s pretty great, right? We think so. I know you weren’t expecting this in an article about Kotlin, but here we are.
There is an IDE made by JetBrains called "CLion" for C/C# development and it’s also their choice for writing Kotlin/Native, but this is not to be confused with the aquatic mammals that we’re going to learn about now.
Some interesting facts we learned about sea lions in SF:
They like to play "king of the pier" all day and hang out in the sun
They’re safe from predators In the shallow waters of the bay
They enjoy climbing on top of each other for social contact
When not on rafts, they enjoy hunting food in the bay and nearby rivers
The sea lions on SF piers are males. The females raise their young farther south, near Baja
If you would like more sea lion facts, please sign up for our newsletter where we send daily cat AND sea lion facts! Just kidding, but seriously - if you find a newsletter like that, let us know.