14
13
12
11
10
9
8
7

Kotlin

Kotlin Multiplatform — Share Code Across Android, iOS, and Beyond
Kotlin Multiplatform — Share Code Across Android, iOS, and Beyond

Kotlin Multiplatform lets you write shared business logic once and use it across Android, iOS, web, and desktop — while keeping native UI per pl...

Kotlin DSL — Building Expressive APIs with Lambdas and Receivers
Kotlin DSL — Building Expressive APIs with Lambdas and Receivers

Kotlin DSLs look like custom syntax but are built with lambdas with receivers, extension functions, and infix notation. You use them daily — Gra...

Annotations in Kotlin — Metadata That Powers Your Frameworks
Annotations in Kotlin — Metadata That Powers Your Frameworks

Annotations are metadata tags that tell tools, frameworks, and the compiler how to process your code. This guide covers creating custom annotations, r...

Reflection in Kotlin — Inspecting Code at Runtime
Reflection in Kotlin — Inspecting Code at Runtime

Reflection lets your code inspect and manipulate itself at runtime — discover classes, properties, functions, and annotations dynamically. This ...

Kotlin Generics — in, out, and reified Explained
Kotlin Generics — in, out, and reified Explained

Kotlin generics go beyond basic type parameters. With out and in variance modifiers, you control how generic types relate to each other. With reified,...

Channels in Kotlin Coroutines — Producer-Consumer Patterns and Coroutine Communication
Channels in Kotlin Coroutines — Producer-Consumer Patterns and Coroutine Communication

Kotlin Channels are how coroutines communicate with each other. While Flow broadcasts to many collectors, a Channel delivers each value to exactly one...

StateFlow vs SharedFlow in Kotlin
StateFlow vs SharedFlow in Kotlin

StateFlow holds current UI state. SharedFlow broadcasts one-time events. This guide breaks down how each works, their key differences, when to use whi...

Kotlin Flow Operators — Transform, Combine, and Flatten Streams Like a Pro
Kotlin Flow Operators — Transform, Combine, and Flatten Streams Like a Pro

Operators Flow operators are what make reactive programming truly powerful in Kotlin. This guide covers transformation operators (map, transform, scan...

Kotlin Flow Basics — A Complete Guide to Streams in Coroutines
Kotlin Flow Basics — A Complete Guide to Streams in Coroutines

Kotlin Flow is how you handle streams of data in coroutines. While a regular suspending function returns a single value, a Flow emits multiple values ...

Coroutine Cancellation in Kotlin — Deep Dive
Coroutine Cancellation in Kotlin — Deep Dive

Deep dive into Kotlin coroutine cancellation — how cooperative cancellation works at suspension points, making CPU-heavy code cancellable with i...

Coroutine Exception Handling in Kotlin — Complete Guide
Coroutine Exception Handling in Kotlin — Complete Guide

Master coroutine exception handling in Kotlin — how exceptions propagate through structured concurrency, CoroutineExceptionHandler, SupervisorJo...

Collections vs Sequences in Kotlin — When to Use Which
Collections vs Sequences in Kotlin — When to Use Which

Learn when to use Collections vs Sequences in Kotlin. Side-by-side comparisons of the same task, a decision framework table, performance analysis, and...