Kotlin

The modern default language for Android.

Kotlin is taught here in 13 lessons, running from Syntax and null safety through to Building a REST service with Ktor. Each lesson takes one topic, shows the working code, and links onward to the next, so the course can be read straight through in order.

TrackMobile Development
Lessons13
LevelBeginner to intermediate
Reading timeabout 3 hours
PrerequisitesHelpful, but not required: React Native

Lessons

  1. Syntax and null safetyvals and vars, expression-oriented control flow, and the type system that keeps null out of your code until you ask for it.
  2. Classes, data classes and extensionsPrimary constructors, inheritance and interfaces, then the language features that remove boilerplate: data classes, sealed types and extension functions.
  3. Coroutines and collectionsSuspend functions without blocking a thread, structured concurrency, Flow for streams, and the collection operators you will use daily.
  4. Setting up Kotlin: Gradle, the K2 compiler and project layoutInstall a JDK, structure a Gradle build, configure the Kotlin plugin and compiler options, and run, test and package from the command line.
  5. Generics, variance and delegationType parameters and bounds, declaration-site and use-site variance, star projections, reified inline generics, and delegation with by.
  6. Functional Kotlin: lambdas, inline functions and DSLsFunction types and receivers, higher-order functions, inline and noinline, value classes, and building a small type-safe DSL.
  7. Channels, shared state and advanced concurrencyChannel and produce, select, Mutex and atomics, SharingStarted strategies, exception handling, and deterministic coroutine tests.
  8. Exceptions, Result and error-handling patternstry as an expression, runCatching and Result, sealed error hierarchies, require and check, and validating at the boundaries instead of everywhere.
  9. Testing Kotlin with JUnit 5, Kotest and MockKStructure tests and assertions, parameterise cases, use property-based testing, mock with MockK, and wire coverage and CI.
  10. JSON, serialization and HTTP clientskotlinx.serialization with custom serializers, Ktor Client and Retrofit, timeouts, retries and mapping transport errors into your own types.
  11. Java interop, JVM tooling and build performancePlatform types at the boundary, JvmStatic and JvmOverloads, SAM conversions, annotation processing, and making the build faster.
  12. Kotlin Multiplatform: expect, actual and shared modulesStructure a KMP project, declare expect and actual, choose multiplatform libraries, and share domain and networking code across Android and iOS.
  13. Building a REST service with KtorProject setup, routing, content negotiation, plugins, authentication, Exposed database access, configuration, logging and graceful shutdown.

More in Mobile Development

Android iOS Flutter React Native Swift

FAQ

How long does the Kotlin course take?
It has 13 lessons, about 3 hours of reading. Expect roughly twice that if you type out and run every example.
Do I need prior experience for Kotlin?
Not strictly. It helps to have read React Native first, because some lessons build on it, but every lesson explains its own assumptions.
What should I read after Kotlin?
Continue with Swift (13 lessons), the next course in Mobile Development.