The KotlinConf 2017 was on 2-3 november and it was a great conference. In this article we are going to present a short summary of the talks with links to their videos.

List of Talks

Understanding Kotlin

The talks you want to watch if you want to understand the language better: from introductory talks to deep dives.

Understand Every Line of Your Codebase

A talk by Boris Farber and Victoria Gonda, who also wrote the article: Java as your Kotlin Study Buddy. It is a talk centered on showing the Java equivalent of the Kotlin code you write and the bytecode produced by the Kotlin compiler. It is interesting especially for new Kotlin developers and people still using Java that want to see a bit of the Kotlin magic.

Introduction to Coroutines

Concept of coroutine looks amazing. I will need to play with it a little bit to get it to work though. @KotlinConf Introduction to Coroutines by Roman Elizarov https://t.co/Q7YoF6N2jF via @YouTube #kotlinconf17 — Anurag Chitnis (@AnuragChitnis) 17 novembre 2017

A talk by Roman Elizarov, who works on the Kotlin language at JetBrains. It is about one of the most exciting features of Kotlin: coroutines. In this talk you can learn why you need coroutines and how to use them with live examples.

Deep Dives into Coroutines on JVM

A talk by Roman Elizarov, who works on the Kotlin language at JetBrains. This is the deep and technical companion of the other talk by Elizarov on coroutines. It is about the technical aspects of the coroutines implementation on top of the JVM. It is a great talk for people that want to understand how coroutines work.

Idiomatic Interop

A talk by Kevin Most on Java-Kotlin interop. Kotlin and Java interop is great, but it is not perfect especially when invoking Kotlin code from Java code. In this talk you are going to know how to make the two languages work better together: from the strategies to the gotchas. This talk is perfect for Kotlin developers that have to take in account their Java users.

Kotlin Puzzlers

Lots of fun with #kotlinpuzzlers with @antonkeks at #kotlinconf17, some great laughs at the compilers expense! pic.twitter.com/Ldi6lQObes — Neil Power (@NeilPower) 3 novembre 2017

A talk by Anton Keks on Kotlin puzzlers. This talk presents some interesting nuances of Kotlin through the use of small programs. It is a fun talk to watch if you want to test your understanding of Kotlin behavior. For instance, do you know what happens when you write return throw return "Hello" ? Watch this talk to find out.

The Cost of Kotlin Language Features

A talk by Duncan McGregor on the costs in terms of code size and execution time of Kotlin. The talk is focused on the bytecode produced by the Kotlin compiler on the JVM. The author actually said that you shouldn’t care about such costs, but if you do the talk will shows you the small costs in terms of performance that some features of Kotlin have.

You Can, but Should You?

A talk by Mike Gouline, a software engineer who works in the health industry. This is a talk on how to be smarter in using Kotlin. It discusses and explains how to choose among the different features that Kotlin offers in a way that makes sense for your software. It does not just present the options (i.e., for vs foreach), but it gives you guidelines on how to make the choice.

It is a very interesting talk not only for Kotlin users, but for everybody that needs to learn how to better organized his code.

Deep Dive into Kotlin/Native

A talk by Andrey Breslav, the leader of Kotlin development at JetBrains. This is a talk about the inner workings of a prerelease feature of Kotlin/Native: now (soon) you could use it develop for iOS. The talk is linked to the keynote of the conference since it shows the internals of the app demoed there.

This is the best talk to watch if you are interested in understanding how Kotlin/Native and iOS work together.

Kotlin Types: Exposed

A talk by Svetlana Isakova, developer advocate at JetBrains and co-author of Kotlin in Action. This is a talk about Kotlin types interact with Java: what happens under the hood, what you should be aware of and explanations of some design choices made by JetBrains.

Android & Web

Talks specifically about Android, Web and KotlinJS.

Frontend Kotlin from the Trenches

A talk by Gaetan Zoritchak, on KotlinJS used for the frontend. This talk gives feedback on the journey and the technical challenges faced on developing a data visualization library: Data2viz.

﻿

A View State Machine for Network Calls on Android

A talk by Amanda Hill on how to build a View State Machine for network calls on Android. If you are wondering why you should do that she will show you right away by building an app. Basically, it is a way to handle networking request in a way that is resistant to UI changes.

Real World Kotlin-Powered Android

A talk by James Williams, responsible for Android Curriculum at Udacity. This is about converting an Android app written in Java to Kotlin, bit by bit. It is practical and interesting way to understand some of issues involved.

Isomorphic Kotlin

A talk by Troy Miles on the server side of an Android isomorphic mobile system. The talk starts with an introduction on the issue, then continues on showing how to build a microservice with Ratpack, wire it, and deploy it on Heroku.

Going Serverless with Kotlin

A talk by Marcos Placona, who works as a developer evangelist at Twilio. This is a talk on the tools and processes to build mobile and IoT stuff with Kotlin and deploy it on AWS Lambda to go serverless with Kotlin. There are a few minutes of introduction to the advantages of going serverless and then he shows code.

How to Build a React App in Kotlin

A talk by Dave Ford on why it makes sense to use Kotlin on the web and how to build a React App with your favorite language. The talk is focused on KotlinJS and the web world. The main point of the talk is that using Kotlin is even better than using a templating system to write web interfaces (i.e., HTML). Essentially templating system are simple languages, but Kotlin is a better language that has typesafe-builders, the (internal) HTML DSL (kotlinx.html) and a few React wrappers.

Given that most Kotlin developers come from Java, this is a very interesting idea that you probably never thought about.

Spring

A few talks dedicated to the Spring Framework and its usage with Kotlin.

Bootiful Kotlin

A talk by Josh Long, author of 5 books and “the guy with most bugs per line of code on the Spring team”.

It is a demo talk about using Spring Boot with Kotlin.



Asynchronous Programming with Kotlin Coroutines in Spring

A talk by Konrad Kamiński on using coroutines for asynchronous programming in Spring. It is a code-based talk on how to use coroutines in Spring. It is quite specific, so it is great if you are interested in just that, but it also useful for current Java and Spring users to get the feel of how it is to work with Kotlin.

Why Spring Loves Kotlin

I’m really excited to learn why Spring Loves Kotlin, straight from @sdeleuze! #kotlinconf17 pic.twitter.com/EGQC7Vvax8 — Todd Ginsberg (@ToddGinsberg) 3 novembre 2017

A talk by Sebastien Deleuze, a Spring contributor working at Pivotal. This is a talk about using Kotlin for Spring applications. It starts with the reasons to choose Kotlin and then shows the various tools and features of the pair Kotlin and Spring. In this talk you will learn to transform a Spring Boot 1.0 Java + Javascript project into a Spring Boot 2.0 pure Kotlin project.

Working On Your Code

Talks about Kotlin tools, checking and generating your code programmatically.

Generating Kotlin Code

A talk by Alec Strong and Jake Wharton, developers respectively at Square and Google. This is a talk about code generation to generate an API. It is a pragmatic talk: almost every slide features code. It is mostly focused on the JVM, but it also address a bit the multi-platform issues.

A talk by Dmitry Jemerov, the leader of the tools team for Kotlin at JetBrains. It is a demo of the new features you will get on the release 1.2. It is also useful to get to know a few practical aspects of building the cross-platform Kotlin platform.

Kotlin Static Analysis with Android Lint

A talk by Tor Norbye, tech lead for Android Studio. It starts with a bit of the philosophy of Android Lint (i.e., focus on Android issues, leave the generic ones to the IDE) before going to the meat of the tool. The tool can now also be used outside of Android, so it can be useful for everybody who uses Kotlin.

Lessons Learned Building a Build Tool

A talk by Cedric Beust, the creator of Android Gmail and TestNG. The talk is about Kobalt, a building system written in Kotlin with a simple DSL, inspired by Maven and Gradle. The talk explain the reason why it was created and how it was made.

Building Kotlin Applications at Scale with Gradle

A talk by Hans Dockter, creator of Gradle and founder of the company behind it. This is a talk about how to use Gradle and the Gradle plugin for Kotlin to build large applications. It is divided in two parts: a description of features and issues and a second practical part where you see how things works on an example.

Testing Kotlin at Scale: Spek

A talk by Artem Zinnatullin, on how to test at scale. This talk is about the why and how you can migrate thousands of tests from JUnit to Spek. Spek is a testing framework inspired by RSpec, designed to better organize your tests. It is an interesting talk for everybody that want to do tests with Kotlin and understanding how they can use Spek to organize large scale testing.

Experiences

Talks that focus on an experience the speaker had: their work at a specific company or for a certain project. Usually they have less code, and concentrate more on soft-skills or strategic choices.

Cords & Gumballs

A talk by Mike Hearn on the benefits and challenges of using Kotlin for an enterprise software and a small side-project. The enterprise software is Corda, the distributed ledger platform designed to record, manage and automate legal agreements between business partners. The project is written in Kotlin, but it has to support perfectly Java developers in the finance world, so it is an interesting talk for people that work in the enterprise world.

My Transition from Swift to Kotlin

A talk by Hector Matos, a senior iOS developer. The talk is both a story of the transition and a comparison between Swift and Kotlin. It is a good talk to show to your manager, if you need to persuade him or her to let you develop with Kotlin.

My Life as a Tech Transfer Monad

A talk by Erik Meijer, a computer scientist who works at Facebook and now is “he is on a quest to make uncertainty a first-class citizen in mainstream programming languages”. It is an interesting talk and indeed one of the most popular, but it is hard to describe it.

It is a talk with a lot of computer science and essentially is about trying to understand (i.e., abstracting) programming: the successes and failures that the author has encountered in this quest.

It is a great talk if you want to level up your understanding of programming.

Building and Deploying Netflix

A talk by Rob Fletcher who works at Netflix (Danny Thomas is mentioned in the abstract, but he does not appear). The talk is essentially half about the Netflix way of doing things and half about the reasons why the author of this talk chose Kotlin instead of other languages to build some tools used at Netflix.

Kickstarting Kotlin Culture: The Journey from Java to Kotlin

A talk by Neil Power, who works at Hootsuite. This talk is about the experience of the adoption of Kotlin at Hootsuite. It is both a story of the journey from Java to Kotlin and the lesson learned to build a strategy to facilitate the migration from Java to Kotlin. It is an interesting talk for the people that are considering the implementation of such strategies in their workplace.

Sharing [Kotlin code across platforms] is Caring!

A talk by Eugenio Marletti, on how Kotlin can help with issues related to multi-platform apps. This is a talk on the experience of writing a multi-platform app, the problems related to developing it and how Kotlin can be used to write the business logic once. The rest will need to be specific for each platform.

Cats and Dogs

A talk by Michael May and Roman Piel, iOS and Android developers. A fun and practical talk on how Android and iOS teams can work together in a team: design the app together, maintain the API, etc. This is a talk about code and tecnical issues (e.g., how to design the API together), but also about the organizational aspects.

Kotlin World

Everything Kotlin: from new things you can do, to better ways to do the same things you already do. Talks about how to contribute to Kotlin or help your team work better, etc. There is something for everybody, whether you are searching for new ideas or to learn something.

Building Languages Using Kotlin

You may read about the experience and the best speech there: Building Languages Using Kotlin by Federico Tomassetti on another of our articles.

The Road to Kotlintown

Learning how to beautifully execute a heist in The Road to Kotlintown by @queencodemonkey and @RunChristinaRun #kotlinconf17 pic.twitter.com/bg8vn3fO0k — Brenda Cook (@kenodoggy) 2 novembre 2017

A talk by Huyen Tue Dao and Christina Lee, developers at Pinterest and Atlassian. This is a code-base talk on how practically convert existing code to Kotlin and learn the Kotlin way of doing things. It is a pragmatic talk for new Kotlin users or people interested in joining the good side of the JVM.

How to Kontribute

A talk by Yoshinori Isogai on how to contribute to Kotlin development as an external contributor. This is a pragmatic talk on how to partecipate to Kotlin development, particularly on a Kotlin plugin. This is a very pragmatic talk dealing with things like setting up development environment (you will need the help), unit tests, etc. It is very useful if you want to contribute to the language.

Architectures Using Functional Programming Concepts

A talk by Jorge Castillo on functional programming for Kotlin. This a code-based talk on why you will want to use functional programming and how to use functionally concepts on Kotlin using Kategeory.io, a library that brings functional types to Kotlin. The examples are mostly based on Android issues, but they can be applicable to many situations.

RX Java with Kotlin in Baby Steps

A talk by Annyce Davis, a developer, author and speaker. This is an introductory talk about RxJava and reactive programming. It is a well designed lesson on the basics: operators, observers and observable.

Kotlin for the Pragmatic Functionalist

A talk by Paco Estévez García, a developer at Facebook. This is a talk on how you can pragmatically use functional programming with Kotlin: the language is ready today, this talk will show how to use it. He also show the issues still present. It mentions Kategory, a library which is the focus of another talk.

Kotlin EE: Boost your Productivity

A talk by Marcus Fihlon, a developer, lecturer and author. There is not an actual Kotlin EE framework, but this is a talk about using Kotlin with Java EE to create services of any size (nanoservices, microservices, etc.). This is a talk about theory and practice (i.e., code) to solve problems of enterprise developers.

Kotlinbots: Building Your Own Personal Robot Army

A talk by Adrián Catalan on how to use Android Things and how to develop software for Internet of Things devices (and robots). This is a pragmatic talk on how to develop with Android Things on Raspberry Pi to do things like switching on LEDs. So, it slightly oversells the robot army things, but it is cool nonetheless. The talk also shows the hardware part of the work: how to wire the actual wires to the board and the theory you need to work with electric circuits. It is quite an interesting talk for people willing to getting started on IoT development.

Inter-Reactive Kotlin Applications

A talk by Julien Viet, the Vert.x project lead at RedHat. This is a talk about using Kotlin to write inter-reactive Vert.x applications: perform asynchronous operations and receive events in a synchronous way. Eclipse Vert.x is a set of libraries to write application on the JVM (not necessarily with the IDE Eclipse). The talk contains both the theory and the practical aspect of writing reactive applications using Kotlin features (i.e., coroutines).

Two Stones, One Bird: Implementation Tradeoffs

A talk by Christina Lee, an Android developer at Pinterest. The title of the talk is a play on the common saying. The talk is about how to choose between two different viable options to achieve on objective. It discusses the tradeoffs of a few common programming problems with multiple solutions such as with/apply and let/also.

Kotlin for Data Science

Should we consider Kotlin for data science? Let’s see what @thomasnield9727 has to say about that! #kotlinconf17 pic.twitter.com/VqhhB58R6b — Todd Ginsberg (@ToddGinsberg) 2 novembre 2017

A talk by Thomas Nield, author and developer. The talk is starts with an introduction to data science and its issues, then continues on why and how to best use Kotlin for data science. This talk is great if you work in an organization that need one platform to get the data scientists and developers on the same page. The author of this talk suggests to also look at kscript – Scripting Enhancements for Kotlin.

kscript – Scripting Enhancements for Kotlin

If you haven’t seen @holgerbrandl‘s talk at #kotlinconf17, definitely watch it. #kscript has some useful and interesting innovations critical for bringing #Kotlin to #DataScience https://t.co/BlVRJId83Y — Thomas Nield (@thomasnield9727) 20 novembre 2017

A talk by Holger Brandl, data scientist at the Max Planck Institute. This is mainly a talk about kscript: a easy-to-use, very flexible, and almost zero-overhead solution to write self-contained mini-applications with Kotlin. Obviously it also has an introduction to why Kotlin was chosen and the tool developed for data science work. It is a great talk if you are interested in the practical aspects of doing data science with Kotlin, but also for general scripting.

Summary

KotlinConf was great and there was something for everybody: from real-word technical knowledge to experience ans help to better manage Kotlin projects and team. There were also interesting and unusual projects (i.e., robot army). The excitement for the future of Kotlin was palpable and we hope we are going to feel the same next year. What do you want to see next year?