KotlinConf 2017 Recap
Last week I attended the first ever KotlinConf. The event was hosted by JetBrains and held in SF behind the massive buzz around Kotlin especially in the Android community. Attendees I spoke to were probably split 50/50 between Android and other platforms (web, server-side, native).
For those who are not familiar, Kotlin is strongly typed modern language with elements of functional programming, 100% interoperability with Java, and can be compiled into JVM bytecode, JavaScript, or native binary (iOS, desktop, etc).
This is the most excited I have been personally to be at a conference as an attendee in a long time. From the energy around the venue it was obvious I was not the only one.
Keynote Summary
- This was the first ever KotlinConf and it sold out to over 1200 attendees.
- Kotlin was first announced in 2011 and was first used on Android in 2012.
- Google announced official support for Kotlin on Android at I/O 2017.
- Kotlin projects in general require 15–20% less code than Java (Basecamp).
- Teams that have migrated projects from Java to Kotlin have reported up to 30% fewer defects post-migration (Pinterest).
- JetBrains recently announced multi-platform project support (code sharing) and support for web assembly, iOS, and desktop via Kotlin native.
Sessions
Here’s a quick summary of some of my favorite sessions. You can find list of all the sessions here. And yes, I’m told there will be videos.
Edit: The videos are here!
Introduction to Coroutines
Roman Elizarov
Concurrency expert at JetBrains
Coroutines in many ways are a pure upgrade to traditional threads in terms of complexity and performance. This session covered the what, why, when, where (and how) of Kotlin coroutines.
My Transition from Swift to Kotlin
Hector Matos
Kotlin/Swift Dev at Twitter
Entertaining talk that covered the speaker’s personal experience learning Kotlin as an iOS/Swift developer. Compared the pros and cons of each language side-by-side and kept score the whole time. (Hint: it’s a tie).
Architectures Using Functional Programming Concepts
Jorge Castillo
GoMore Android Engineer
This talk outlined the benefits of functional programming concepts applied to Android architecture including immutability, statelessness, and deferred execution. Honestly, much of this talk was over my head from a functional programming standpoint but it was cool nonetheless.
My Life as a Tech Transfer Monad
Erik Meijer
Think Like A Fundamentalist, Code Like A Hacker
Erik is a living legend and a pioneer of reactive programming. This talk covered a lot but focused mostly on the ideas of abstraction, pragmatic solutions, probability, and machine learning and how they can be applied to increase developer productivity.
RxJava with Kotlin in Baby Steps
Annyce Davis
Lead Android Developer at Off Grid Electric, Online Video Instructor
Great intro level talk to Rx concepts that made them simple enough it almost convinced me to try RxJava in my next Android project.
Generating Kotlin Code
Alec Strong
Android Developer at Square
Jake Wharton
Android Framework at Google
Cool talk about efficiently and idiomatically generating Kotlin code given its unique syntax and language features.
Conclusion
Overall a fantastic event (including the venue and food) and great to see the cross-pollination of the Android, iOS, and server development communities rallying around a common thread… or coroutine.