To browse the list of talks instead, scroll down ⇓
Pro tip: Click the title of a talk for more details!
Composing an API with Kotlin vol. 2Jetpack Compose is one of the best examples of an exciting Kotlin code base. It’s a real treasure trove of examples for using advanced Kotlin language features and conventions. In this talk, we’ll continue the exploration started in the prequel to learn more best practices around our favourite programming language.
- 2022.11.24. Advanced Kotlin Dev Day 2022
Composing an API with KotlinKotlin offers many powerful language features to API authors. We’ll explore how Jetpack Compose’s syntax builds on these features, and how its APIs were shaped by Kotlin idioms and conventions. These ideas and best practices give you a deeper understanding of the language, and they are valuable for any Kotlin developer designing APIs – which is actually every Kotlin developer!
- 2022.10.18. Kotlin Budapest User Group meetup - September 2022
- 2022.05.19. Kotlin Dev Day 2022
Untangling Coroutine TestingCoroutines are embraced on Android as a tool to perform asynchronous operations and manage threading in your apps. Testing them requires some extra work and a solid understanding of scopes and dispatchers. In this talk, we’ll look at how to test coroutines with the latest available testing APIs introduced in kotlinx.coroutines 1.6, from the simplest cases all the way to Flows.
Building Effortless Chat Features with Stream and ComposeLearn what the new Jetpack Compose Chat SDK from Stream offers and how the team built it in just a couple of months.
- 2021.12.09. droidcon Webinar
Git Good with Android StudioAndroid Studio is an incredibly powerful tool. One of my personal favourite parts of it is the version control support. In this talk, I'll show you how easy it is to use Git and perform version control tasks in general within Android Studio. No third-party tools required!
Building a production-ready Chat SDK with Jetpack ComposeIn this session, we talk about how we built the world's first Jetpack Compose Chat SDK, what challenges we met along the way, and why put so much trust into a technology that only recently became stable. We also talk about the API design and what decisions we've made to allow for both quick-to-integrate default behavior and UI, as well as a rich set of customization options to make the SDK fit your needs.
Creating a Kotlin Course from ScratchThis talk tells the story of mobile development at BME-VIK-AUT, how I joined that story, and how we introduced Kotlin to the university curriculum.
- 2021.07.29. JetBrains Kotlin for Education webinar
How to Build Awesome Android LibrariesThis talk is a collection of advice about building Android libraries or SDKs, highlighting some of the less obvious things you can do to make your library great.
It’s Compose O’Clock on AndroidJetpack Compose is changing how UI is being built on Android. This new toolkit is replacing the now 10-year-old, somewhat tedious View system with a declarative, functional approach, and promises to simplify and speed up UI development. This session explains what Jetpack Compose is, and then shows a quick example of interesting UI with it.
Mastering API Visibility in KotlinWhen designing a library, minimizing your API surface - the types, methods, properties, and functions you expose to the outside world - is a great idea. This doesn't apply to just libraries: it's a consideration you should make for every module in a multi-module project. In this talk, we'll look at all the ways that Kotlin lets you get your visibility just right.
- 2021.09.14. Rheinwerk Konferenz für Kotlin 2021
- 2021.08.12. Chicago Kotlin Users Group - August 2021
- 2021.06.24. Virtual Kotlin User Group - June 2021
- 2021.04.27. Android Worldwide April 2021
- 2020.12.17. Kotlin Budapest User Group meetup - December 2020
Krate ft. MoshiKrate is a SharedPreferences wrapper library based on Kotlin's delegates. This talk takes you on a journey where you'll learn how the new Moshi-based addon for the library was implemented. We'll touch on type erasure and reflection, testing, debugging, and various advanced Kotlin features along the way.
Android ComplexityAndroid development can often feel overwhelming – there’s so, so many things to take care of around a single app. Here’s a brief look at all the things* that an Android developer would have to consider, do, and test for in order to create the theoretically perfect application, to serve as a practical checklist for starting your next Android project.
- 2021.05.21. Android Heroes Live
- 2021.04.01. Android Budapest meetup - 2021 March*
- 2020.12.14. droidcon APAC 2020
- 2020.07.24. 360 AnDev 2020
Become a Pro in Android StudioA tips and tricks session on making the most out of our best friend - and sometimes worst enemy - Android Studio.
Handling View State and Events with RainbowCakeRainbowCake is an architectural framework built on top of the best & latest of Jetpack and Kotlin. One of its core features is its view state and view event handling mechanism, which is somewhere between MVVM and MVI, and is powered by LiveData. In this talk, we’ll first look at the client side API of the framework, and the design decisions that went into it. Then, we’ll dive into how all of this is implemented under the hood by customizing LiveData. While the talk discusses this specific framework, the ideas in it are universal and can be used independently in any project.
- 2020.06.05. Conference for Kotliners 2020
Say “hi” to MoshiJSON serialization is an everyday task for Android developers, but it's still not a trivial one. Long used solutions such as Gson have serious pain points, especially when using them with Kotlin. Could Moshi be our saviour when it comes to dealing with JSON on Android? We'll look at how to use it, what problems it solves, and how nicely it plays with our favourite JVM language.
- 2021.11.13. DevFest Romania 2021
- 2021.10.29. droidcon London 2021
- 2020.01.30. Android Budapest meetup - 2020 January
'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.
DekompilingKotlin 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.
- 2020.11.09. Rheinwerk Konferenz für Kotlin 2020
- 2020.04.20. Android Makers 2020
- 2019.11.06. Mobile Unplugged 2019
- 2019.09.20. droidcon Vienna 2019 (barcamp session)
- 2019.07.03. droidcon Berlin 2019
Reviewing KotlinI 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
Tweaking LiveDataLiveData 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!"
- 2019.05.07. Google I/O Extended 2019 Budapest
Delightful Delegate DesignWhen 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 & KotlinA 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
Typical KotlinThe 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.
- 2019.01.11. AutSoft Android chapter meeting
- 2018.09.20. Kotlin Budapest User Group meetup - September 2018
Android KTXA lightning talk showing off some of the syntax gains that Google's Android KTX library offers.
Top 10 Kotlin Stack Overflow QuestionsA 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.17. Kotlin Budapest User Group meetup - May 2018
- 2018.05.08. Google I/O Extended 2018 Budapest
DSL DesignA 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 AndroidAn 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.
- 2017.05.18. Google I/O Extended 2017 Budapest