Android · Kotlin · Compose · Architecture

Mastering Android

In-depth tutorials, deep dives, and field notes on shipping production Android apps — from a 14+ year engineering veteran.

Jetpack Compose Coroutines & Flows Clean Architecture Testing System Design Performance

Featured

Latest

Kotlin

Abstract Classes vs Interfaces in Kotlin

Learn when to use abstract classes vs interfaces in Kotlin. Covers constructors, state, default implementations, multiple inheritance, the comparison ...

Kotlin

Delegation in Kotlin

Learn delegation in Kotlin — interface delegation with the by keyword, lazy initialization, observable and vetoable property delegates, custom delegat...

Kotlin

Generics in Kotlin

Learn Kotlin generics from scratch — generic classes, generic functions, type constraints, variance with in/out, star projection, reified types, and t...

Kotlin

Destructuring Declarations in Kotlin

Learn destructuring declarations in Kotlin — how to unpack data classes, Pairs, and Maps into variables, how to skip components with underscore, destr...

Kotlin

Inline Functions in Kotlin

Learn how inline functions work in Kotlin — how the compiler eliminates lambda allocations, how reified generics preserve type information at runtime,...

Kotlin

Collection Operations in Kotlin

Master Kotlin collection operations — map, filter, reduce, fold, flatMap, groupBy, partition, zip, chunked, and more. Learn how to chain operations to...

Kotlin

Data Class vs Regular Class in Kotlin

Learn when to use data class vs regular class in Kotlin. Covers the core distinction between data and behavior, auto-generated functions, comparison t...