Prerequisites and assumptions Note: This article reflects how the kotlinx.coroutines scheduler works as of February 2026. Internal implementation details can change between releases. You have written Kotlin coroutines before. You know what launch , async , withContext , and suspend do at a basic level. You’ve used Dispatchers.Default , Dispatchers.IO , and Dispatchers.Main in at least one…
The paradigm shift in programming We’re living through one of the most significant transformations in how software gets written. The rise of Agentic AI has changed everything about the engineer’s experience. Gone are the days when AI assistance meant autocomplete suggestions or simple code snippets. Today’s AI agents can reason about codebases, execute multi-step tasks, browse…
Prerequisites and assumptions You are working with Kotlin on the JVM or Kotlin Multiplatform. You understand basic interfaces and classloading concepts. You have encountered scenarios where you want pluggable implementations without hardcoding dependencies. Good reads and references Official Java ServiceLoader documentation Ktor HTTP client engines - real world SPI usage SLF4J service provider -…
Think of native power as a party. Kotlin can show up through four different doors: Kotlin/Native (K/N) , JNI , JNA and FFM . Same venue, different guest lists. This guide explains which door to use, when and why. Good reads Kotlin Native overview Kotlin Native C interop guide JNI specification and tutorial (click on the JNI <x.x> Specification link) JNA project and usage examples Foreign Function…
Prerequisites and assumptions You are using the Kotlin Gradle DSL and the Kotlin Multiplatform plugin. You have a working C toolchain per OS. On macOS install Xcode command line tools or Homebrew. On Linux install GCC or Clang and the development headers for the libraries you plan to use. On Windows install MSYS2 with MinGW and ensure gcc and pkg config are in PATH.
Presumption, prerequisite and good reads 📖 The code snippets shared here use Gradle Version Catalog and Kotlin Gradle DSL Gradle Convention Plugin Moving from buildSrc to build-logic Herding Elephants - Square Developers Detekt documentation Detekt 🔍 Detekt is a static code analysis tool, but it does a lot more than that, from being able to add your own custom rule to formatting your code…
My Technology Stack Over the years as an Android developer, I’ve worked with various technologies, frameworks, and architectural patterns. Here’s an overview of my current technology stack and the tools I use in my day-to-day development. Programming Languages Kotlin My primary language for Android development. Kotlin’s concise syntax, null safety, and interoperability with Java…
Prerequisite Basic understanding of Jetpack compose Familiarity with the navigation system of compose Suggested reads Navigating with Compose Navigating in Jetpack Compose Jetpack compose has been out for a while now and so is the navigation system, it’s simple and direct. A simple implementation of navigation would look something like
Android is getting mature with every major release and we are heading towards more user-centric and privacy first Operating System. Android Oreo was released back in 2018, one of the major changes were related to background limitations which changed the way most apps would function. It was one of the turning points for android, as a lot of apps were running in the background even without users…