I started writing Kotlin at my workplace about seven months ago and when I heard about this year’s KotlinConf, I knew I had to be a part of it to learn what’s new that’s coming, what are some of the future plans that we need to prepare for in advance, and what are the things that I’m doing right and what needs to be improved in how I write apps with Kotlin.
I had the chance to buy the Early Bird ticket for the conf in around March and waited for it anxiously ever since. Now that I’ve attended my first ever KotlinConf, it really was something more than I expected, so here’s a brief recap of what I thought about the event and how impactful it was.
The Opening Keynote
This year’s event hosted 1700 people from around the globe and had some really interesting talks that are worth hearing more than once. One of the main topics that really shined throughout the event was Kotlin Multiplatform or KMP (simply meaning to share code between iOS and Android codebase using Kotlin) which had more than one talk simply dedicated to it and it was really convincing to see how some of the known names in the App Store and Play Store are turning their heads toward KMP. Some of the apps that have already started adopting and shipping KMP in production are:
Although KMP was first released as an experiment in Kotlin 1.2 and was mostly talked about in previous KotlinConfs as well but they really made it feel very promising this year to share as much code between the two major mobile platforms as possible and one of the talks literally discussed “how to convince iOS users to ditch Swift and start using Kotlin instead”! To help migrate more developers to MVP, they’re actually working on another plugin that would enable developers to run/debug iOS apps using Android Studio. It was made clear that that doesn’t mean for developers to eliminate Xcode but sitting there hearing the keynote, I could only wish that Apple does a similar thing and make iOS Development Kotlin-first! 🙏 Pretty please, Apple?
Speaking of KMP, another thing worth mentioning is that Kotlin is not only targeting mobile platforms but it actually wants to be the default language so that developers from all areas and from no matter how many years of experience in whichever language can adopt it and start using it in their projects:
Speaking of which, it’s also worth mentioning and worth celebrating is that not only the private companies but governments have also started adopting Kotlin and it is now used by the Norway Tax Office as their server-side language, in addition to companies like Expedia and Intuit.
The TLDR of all this is that Kotlin is really trying to make things work well for all platforms. So what’s next, you ask? Kotlin 1.4!
Kotlin 1.4 is going to double down on performance, speed, and bug fixes but only a few new exciting features that can be expected in the upcoming release, which will get ready to be shipped in 2020. In case you’re curious how far Kotlin has come since 1.0, here’s a quick summary for that:
Some of the topics from the opening keynote that set my mood for the rest of the two days was about KMP and Kotlin as server-side language. But as a designer at heart, I didn’t want to skip any of the UI related sessions either. Some of the talks that I really loved from the event and that I’d watch again are as follows:
The Shuttle Case
One of the top rated Lecturers at Cranfield School of Management/University
Although this was 0% technical or Kotlin related but this session has to be my most favorite and that’s because of how inspirational it was and how well it was delivered. The talk covered how change is important in any organization.
Lona: scaling server-driven UI with the power of Kotlin
In this talk, Laura and Nathanael introduced Lona, a configurable, server-driven UI system at Airbnb. It helps remove boilerplate code for developers, utilizes the powerful features of Kotlin to make UI maintainable and scalable across Android, iOS, and web. Also, bonus points for how appealing each slide of their presentation was! 😍
Your Multiplatform Kaptain has Arrived
Android Lead at Careem
Careem is a ride-hailing app, particularly targeting markets in Asia and the Middle East and although their Driver app (called the Captain app) has comparatively less users on iOS, they had a chance to give multi-platform a go and launch an iOS Captain app using KMP. This talk is about what approach did the company take, how did they convince iOS developers on dominating the codebase with Kotlin, and how much and how less to share between the mobile platforms. Bonus points for the amazing poetry about KMP at the end of the session! 😂
What’s new in Java 19: The End of Kotlin?
Android at Google, Inc.
This talk had almost got the room filled completely, part of the reason for which is the title of the talk; the answer to which was, SPOILER ALERT, no, it’s not the end of Kotlin. The talk introduced the new features of Java 19 and how it’s catching up with Kotlin in some ways and in other ways improving the features that we would love to see in Kotlin.
Android Engineer at Pinterest
The importance of testing is seldom discussed in software development and that is why Christina’s friends responses were something like “lol good luck 😂” when she mentioned that she was giving a talk about testing at KotlinConf, and that’s because we often take for granted that code should be tested. This talk tested the theory of testing, and looked at what testing can look like in a Kotlin world.
The Big Announcement 🎉
At the end of day one, JetBrains had arranged a special “one last thing” product announcement, that none of us could have ever guessed; a tool to cover collaboration and development processes within an organization called Space, or as I like to call it: Slack-meets-Jira-meets-Asana-meets-GitHub. It’s currently available through a request only Early Access Program and one can sign up for it right away!
I loved how Big Nerd Ranch had arranged up-to-date codelabs for all the new things announced throughout the conf but I expected a bit more from the codelabs: I wanted it to be something like the code labs in Firebase Summit, where one codelab would have a couple of experts in the same room and it’d be interactive in a way everyone would be helped out by one of the experts in case they’re stuck so each person in the room was on the same page and then a tutorial would help everyone complete the exercise before the lab was over. So there was no such thing as homework for later. Nonetheless, the codelabs were very well delivered by some of the brightest people and had very helpful handbooks as PDFs for step-by-step tutorials.
I can say that this was the second biggest tech conference I attended after Google Firebase Summit back in 2018; I must say that I did meet some of the kindest people on earth at this event and I loved how easy it was to network with people because there was this vibe in the conference where it felt like everyone knows everyone from a really long time and it actually felt like a community.
Apart from that and as mentioned before, the keynote on the second day by Stephen Carver just blew me away since it was a surprise because I hadn’t read the description of the session prior to attending it, and attending that keynote just set my mood for the rest of the day, thanks to KotlinConf team and Stephen Carver himself for such a motivational talk!
Overall it was a fantastic event pulled off by JetBrains and the partners and I can’t wait for KotlinConf 2020 already! 🚀 Thank you KotlinConf team and shoutout to the partners for all the lovely swag that I brought back home!
Have something to say? Leave me comments on Twitter, DM, or follow: www.twitter.com/waseefakhtar ✌️