> Markdown version of [/playlists/kotlin](https://www.wearedevelopers.com/playlists/kotlin). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Playlist: Kotlin 17 videos · 35 moments · 111.6 minutes ## Kotlin Multiplatform - True power of native code reuse - **Understanding Kotlin Multiplatform and its compiler targets** (07:17, 3min) — Leveraging Kotlin's ability to compile down to JVM, Native, and JavaScript targets enables shared business logic without abandoning native practices. - **Planning a production application with Kotlin Multiplatform** (14:48, 2min) — Creating a robust full-stack Kotlin backend streamlines the transition from a simple proof of concept to a unified production environment. - **Technical failures with memory management and concurrency** (21:14, 4min) — Unexpected deadlocks and crashes often stem from conflicting behaviors between Kotlin JVM's relaxed memory model and Kotlin Native's strict concurr... - **Key takeaways and future Kotlin Multiplatform improvements** (31:16, 3min) — Mastering native memory management principles empowers engineering teams to safely implement dependency injection configurations and thread-bound o... - **Solving cross-platform drawbacks with Kotlin Multiplatform** (10:27, 4min) — Resolving traditional multi-platform performance issues involves native compilation, seamless interface communication, and selective code sharing. [Learn more](https://www.wearedevelopers.com/videos/4-kotlin-multiplatform-true-power-of-native-code-reuse) ## Why Kotlin is the better Java and how you can start using it - **Kotlin language features and null safety** (04:54, 2min) — How Kotlin addresses null pointer exceptions by distinguishing between nullable and non-nullable types. - **Introduction to the Java and Kotlin ecosystems** (00:02, 4min) — An overview of Kotlin's popularity and historical context compared to Java. - **Recommended resources and frameworks for learning Kotlin natively** (38:00, 2min) — Leveraging official exercises, standardized reference files, and functional environments to vastly accelerate initial platform transitions. - **Summarizing the practical engineering advantages of writing Kotlin** (40:18, 1min) — Recapping how comprehensive structure enhancements optimize application stability routines, coding efficiency formats, and operational programmer s... - **Configuring runtime Java and Kotlin interoperability protocols** (32:53, 1min) — Managing dual-language mappings encompassing foundational accessor paradigms alongside remaining null safety limitations across languages. - **Reducing boilerplate with Kotlin data classes** (10:40, 2min) — How data classes automatically generate constructors, getters, and standard methods compared to object schemas in Java. - **Live coding demonstration of Kotlin null safety** (07:45, 2min) — A practical implementation showing compile-time errors for incorrect null variable assignments. [Learn more](https://www.wearedevelopers.com/videos/661-why-kotlin-is-the-better-java-and-how-you-can-start-using-it) ## Route from Java to Kotlin - **Introduction to Kotlin and Java interoperability** (00:02, 3min) — Overview of Kotlin's multi-paradigm nature and seamless integration with existing Java libraries. [Learn more](https://www.wearedevelopers.com/videos/512-route-from-java-to-kotlin) ## Structured Concurrency in Practice: CoroutineScope vs StructuredTaskScope - **Creating Kotlin ergonomic wrappers for native Java APIs** (21:28, 1min) — Solving type inference mismatch issues between generic callables and runnables by building a lightweight usability wrapper. - **Implementing asynchronous calls using Kotlin coroutines** (08:11, 2min) — Refactoring a blocking endpoint to fetch independent data sources concurrently using standard Kotlin asynchronous builders. [Learn more](https://www.wearedevelopers.com/videos/100349-structured-concurrency-in-practice-coroutinescope-vs-structuredtaskscope) ## Java Sealed Classes vs. Kotlin Sealed Classes #Slideless - **Kotlin sealed classes as flexible super enums** (03:42, 1min) — Kotlin sealed classes enable fixed type hierarchies that store state in subclasses. - **Comparing Java and Kotlin sealed class features** (35:10, 2min) — Both languages offer parity in sealed class capabilities and robust type matching. - **Applying exhaustive pattern matching in Kotlin** (11:55, 5min) — The when expression ensures safe handling of all possible sealed class types. - **Refactoring API integration using Kotlin sealed classes** (05:06, 6min) — Replacing nullable API responses with explicit success and failure data classes. [Learn more](https://www.wearedevelopers.com/videos/500-java-sealed-classes-vs-kotlin-sealed-classes-slideless) ## How to kill JavaScript from your Stack with HTMX and Kotlin - **Building type-safe UI components with Kotlin HTML DSL** (11:37, 2min) — Embracing plain backend functions eliminates weak template constraints while maintaining strict compilation guarantees for layout structures. [Learn more](https://www.wearedevelopers.com/videos/1427-how-to-kill-javascript-from-your-stack-with-htmx-and-kotlin) ## Building a Cross-Platform BLE Client with Kotlin Multiplatform and Kable - **Building portable Bluetooth logic using Kotlin multiplatform** (13:48, 4min) — The onion architecture pattern isolates platform-specific implementations to outer layers while preserving core domain and business logic for cross... - **Handling asynchronous operations with native Kotlin coroutines** (10:18, 3min) — Suspending functions and flows abstract asynchronous callbacks into sequential code while coroutine scopes safely manage connection cancellation an... [Learn more](https://www.wearedevelopers.com/videos/100250-building-a-cross-platform-ble-client-with-kotlin-multiplatform-and-kable) ## Introducing Kotlin Multiplatform in an existing project - **How Kotlin Multiplatform differs from cross-platform frameworks** (00:35, 2min) — KMP allows teams to share generic business logic layers instead of imposing a unified interface layer. - **Handling thread concurrency and memory in Native** (28:04, 3min) — Legacy Kotlin Native models dictate that passing code references across threads requires explicit object freezing to enforce immutability. - **Creating new Kotlin Multiplatform mobile application projects** (03:30, 6min) — The official Android Studio plugin provides necessary scaffolding to instantly generate correctly structured cross-platform repositories. [Learn more](https://www.wearedevelopers.com/videos/276-introducing-kotlin-multiplatform-in-an-existing-project) ## Building a Friendly Kotlin SDK to Connect to JetBrains Space - **Implementing the API client code generator for Kotlin** (20:32, 3min) — Ingesting server metadata to programmatically reconstruct accurate backend enumerations and data transfer objects in client code. [Learn more](https://www.wearedevelopers.com/videos/128-building-a-friendly-kotlin-sdk-to-connect-to-jetbrains-space) ## Back(end) to the Future: Embracing the continuous Evolution of Infrastructure and Code - **Taming declarative complexity with Kotlin Coroutines** (09:41, 2min) — Combining WebFlux with Kotlin Coroutines restores a familiar imperative coding style for complex business logic. [Learn more](https://www.wearedevelopers.com/videos/440-back-end-to-the-future-embracing-the-continuous-evolution-of-infrastructure-and-code) ## Location Verification without GPS? - **Developing front-end client applications using Kotlin Multiplatform libraries** (11:34, 2min) — Kotlin Multiplatform deploys identically structured material design interfaces across disparate operating environments utilizing a centralized code... [Learn more](https://www.wearedevelopers.com/videos/1184-location-verification-without-gps) ## The Dark Corners of Kotlin Multiplatform - **Navigating Kotlin Multiplatform beyond the happy path** (00:02, 4min) — Moving beyond theoretical tutorials reveals concrete friction points and unexpected crashes in real applications. - **Bridging Kotlin exceptions to Swift error handling** (11:07, 3min) — Unannotated Kotlin exceptions silently crash iOS applications, making explicit result types a preferable design choice. [Learn more](https://www.wearedevelopers.com/videos/100143-the-dark-corners-of-kotlin-multiplatform) ## Java's Project Loom & Co - the end for reactive programming? - **Solving thread blocking with reactive frameworks and Kotlin** (15:09, 3min) — Refactoring code with Spring WebFlux or Kotlin coroutines successfully resolves massive thread-blocking bottlenecks. [Learn more](https://www.wearedevelopers.com/videos/993-java-s-project-loom-co-the-end-for-reactive-programming) ## Moving from Java to Kotlin - **Introduction to Kotlin history and Java ecosystem interoperability** (00:05, 3min) — How careful language design decisions enable seamless interoperability with the existing Java ecosystem. [Learn more](https://www.wearedevelopers.com/videos/384-moving-from-java-to-kotlin) ## Vertical Slice Architecture: Micro Frontends Across Mobile, Backend & ML - **Centralizing mobile business logic with Kotlin Multiplatform** (15:36, 1min) — Sharing native foundational logic across ecosystems guarantees synchronization between varied frontend frameworks and backend models. [Learn more](https://www.wearedevelopers.com/videos/100341-vertical-slice-architecture-micro-frontends-across-mobile-backend-ml) ## Tomb rAIder: AI Search with Kotlin - **Introduction to practical AI search constraints** (00:02, 0min) — Local embeddings and Kotlin enable building computationally grounded and realistic constrained searches. [Learn more](https://www.wearedevelopers.com/videos/1989-tomb-raider-ai-search-with-kotlin) ## Build Delightful Mobile Experiences with Kotlin, Realm, and Atlas Device Sync - **Creating an Atlas App Services backend** (16:40, 3min) — Scaffolding a backend application with a real-time Kotlin template streamlines project setup using the Atlas CLI. [Learn more](https://www.wearedevelopers.com/videos/694-build-delightful-mobile-experiences-with-kotlin-realm-and-atlas-device-sync)