Talks and appearances
‘Idiomatic’ is a word often used by Kotlin experts to describe elegant patterns or solutions that make excellent use of Kotlin’s features. Let’s turn this attitude around for a change, and have some fun by taking a look at the worst ways you can twist and abuse language features to take shortcuts, create tricky solutions, achieve exciting syntax, or confuse others who dare enter your codebase.
- Effective Kotlin - Marcin Moskala
- Abusing Kotlin’s Unicode Support for Fun - Todd Ginsberg
- Typical Kotlin - Márton Braun
- Dealing with the absence of value - Roman Elizarov
- Reddit post - /u/Tok-A-Mak
- Tweet - Marcin Moskala
- Stack Overflow question – Hi Lo
- Stack Overflow question - cuihtlauac
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.
- Kotlin: Uncovered
- Victoria Gonda, Chicago Roboto 2017
- Desugaring Kotlin features and their performance impact
- Ionuț Baloșin, VoxxedDays Bucharest 2019
- Kotlin Under the Hood
- Chet Haase & Romain Guy, I/O ’19
- Execution in the Kingdom of Nouns
- Kotlin 1.3 changes to functional types
- jadx, an alternative decompiler that can handle lambdas nicer
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.
- 2019.06.07. Conference for Kotliners 2019
- Code Review Best Practices
- Trisha Gee, SCLConf 2018
- Life is Great and Everything Will Be Ok, Kotlin is Here
- Christina Lee & Jake Wharton, Google I/O ‘17
- Dissecting the stdlib
- Huyen Tue Dao, KotlinConf 2018
- Kotlin in Action
- Dmitry Jemerov and Svetlana Isakova
- Kotlin Bootcamp for Programmers
- Developing Android Apps with Kotlin
- Kotlin for Java Developers, Coursera course
- Andrey Breslav and Svetlana Isakova
- Introduction to Kotlin and Advanced Kotlin, O’Reilly courses,
- Hadi Hariri
- Data classes aren’t (that) magical
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!
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.
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.
- 2018.11.22. HWSW mobile! 2018
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.
- 2018.09.20. Kotlin Budapest User Group meetup - September
- 2019.01.11. AutSoft Android chapter meeting
A lightning talk showing off some of the syntax gains that Google’s Android KTX library offers.
- 2018.06.19. HWSW free! 34 (Nyári napfordulós Android / Kotlin meetup)
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.
- 2018.05.08. Google I/O Extended 2018 Budapest
- 2018.05.17. Kotlin Budapest User Group meetup - May
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.
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.