zsmb.coNot Medium!



Talks and appearances

Dekompiling

Kotlin has many features that are leaps and bounds ahead of Java. However, its primary target platform being the JVM, all of these features still need to compile to the same bytecode as Java does. This is a look at how a variety of interesting Kotlin features are compiled to bytecode, and what their Java equivalents would be. Even though Kotlin abstracts away much of the virtual machine and the original feature set of Java with its own features, it’s still important to know what your Kotlin code compiles to. Not only can this knowledge give you the power to optimize your code, but it will also help you avoid subtle bugs that would otherwise be near impossible to track down.

Presented:

Resources:

Reviewing Kotlin

I have been teaching our rapidly growing team of Android developers Kotlin for about a year, and for the last few months, I’ve been reviewing tens of thousands of lines of code written by almost a dozen people at times. Here’s what we’ve found out together about learning, teaching, and reviewing Kotlin. I’ll tell you what worked for us and what didn’t, so that you may be more prepared for this path than we were. I’ll also point out some of the issues that most often arose in the code while our developers were getting familiar with the language.

Presented:

Resources:

Tweaking LiveData

LiveData is a well-known tool by now, 2 years after its initial release. Let’s take a brief look at what it does, and then see how we can create custom implementations - as well as test them!

Presented:

Delightful Delegate Design

When developing a library, designing an easy to use API while hiding unnecessary implementation details from clients is fundamental. This talk and article looks at some of the API design choices we’ve made for our library Krate, an Android SharedPreferences wrapper.

Resources:

Presented:

Android app architecture powered by Jetpack & Kotlin

A 3+ hour workshop first introducing coroutines and some Jetpack architecture components, then showcasing an app architecture built on the aforementioned technologies. Then, showing how this architecture can be used in practice with a half-complete example application built using that architecture that can be developed further during the workshop.

Resources:

Presented:

Typical Kotlin

The talk covers some of the basic built-in types of Kotlin (Any, Unit, Nothing), and how we interact with these types - whether we know it or not - when using basic constructs (the Elvis operator, return statements, null itself) of the language.

Resources:

Presented:

Android KTX

A lightning talk showing off some of the syntax gains that Google’s Android KTX library offers.

Presented:

Top 10 Kotlin Stack Overflow Questions

A selection of some of the most frequent questions about Kotlin on Stack Overflow, asked, answered and explained. Something in there for everyone, from beginners to experts.

Resources:

Presented:

DSL Design

A talk presenting the basics of what a DSL is, what use cases there are for them, and looking at some of the design choices we can make while creating one.

Resources:

Presented:

A Taste of Kotlin on Android

An introductory talk on Kotlin prepared right before Google made it an official language on Android. A brief history of where the language comes from, what benefits it offers, and many examples of its syntax and features.

Presented: