kt.academy Logo

Articles

Simplest Nav2 to Nav3 Migration Guide
2/23/2026
Jov
Jov

Simplest Nav2 to Nav3 Migration Guide

How to migrate routes, navigation calls, and transitions from Nav2 to Nav3.

Learn morelearn more icon
You don't understand recomposition
2/16/2026
Marcin Moskała
Marcin Moskała

You don't understand recomposition

Clear explanation of how composition and recomposition work in Jetpack Compose.

Learn morelearn more icon
Top Projects for Coroutines Mastery in 2025
2/9/2026
Marcin Moskała
Marcin Moskała

Top Projects for Coroutines Mastery in 2025

Overview of the best projects for Coroutines Mastery course in 2025

Learn morelearn more icon
You don't understand stability in Compose
2/2/2026
Marcin Moskała
Marcin Moskała

You don't understand stability in Compose

Deep dive into how Compose handles stability and why it's crucial for developers.

Learn morelearn more icon
In the world of AI, companies will need MORE developers, not fewer
1/11/2026
Marcin Moskała
Marcin Moskała

In the world of AI, companies will need MORE developers, not fewer

Why the rise of AI means an increased demand for skilled developers.

Learn morelearn more icon
The power of exercises: How to design them well
12/29/2025
Marcin Moskała
Marcin Moskała

The power of exercises: How to design them well

What are the main priorities when designing good exercises for a course or a book.

Learn morelearn more icon
Minimal setup for Compose Desktop
12/22/2025
Marcin Moskała
Marcin Moskała

Minimal setup for Compose Desktop

How to setup Compose to use it on desktop, for providing UI for scripts or a simple project.

Learn morelearn more icon
Suspending functions vs. Flow: When to use which?
10/28/2025
Marcin Moskała
Marcin Moskała

Suspending functions vs. Flow: When to use which?

A comprehensive guide to understanding the differences between suspending functions and Flow in Kotlin Coroutines, and when to use each.

Learn morelearn more icon
How to implement a random coroutines challenge generator
10/20/2025
Marcin Moskała
Marcin Moskała

How to implement a random coroutines challenge generator

A behind-the-scenes look at how to implement a generator of interesting challenges for learning Kotlin Coroutines.

Learn morelearn more icon
Discussing Kotlin Coroutines on Talking Kotlin Podcast
10/17/2025
Marcin Moskała
Marcin Moskała

Discussing Kotlin Coroutines on Talking Kotlin Podcast

An insightful discussion about Kotlin Coroutines on the Talking Kotlin podcast.

Learn morelearn more icon
Coroutines vs Reactor: When Elegance and Simplicity Crush Complexity
10/6/2025
Marcin Moskała
Marcin Moskała

Coroutines vs Reactor: When Elegance and Simplicity Crush Complexity

A comparison of Kotlin Coroutines and Reactor, highlighting the elegance and simplicity of Coroutines over the complexity of Reactor.

Learn morelearn more icon
Suspending functions into blocking functions or CompletableFuture
9/29/2025
Marcin Moskała
Marcin Moskała

Suspending functions into blocking functions or CompletableFuture

A guide on how to correctly convert suspending functions into blocking functions or CompletableFuture in Kotlin Coroutines.

Learn morelearn more icon
Kotlin Flow to RxJava or Reactor and vice versa
9/22/2025
Marcin Moskała
Marcin Moskała

Kotlin Flow to RxJava or Reactor and vice versa

A guide on how to convert Kotlin Flow to RxJava or Reactor streams and vice versa.

Learn morelearn more icon
Kotlin Coroutines and Swift
9/15/2025
Marcin Moskała
Marcin Moskała

Kotlin Coroutines and Swift

How to use Kotlin Coroutines in Swift projects, or Swift libraries from Kotlin Coroutines.

Learn morelearn more icon
Kotlin Coroutines and JavaScript
9/8/2025
Marcin Moskała
Marcin Moskała

Kotlin Coroutines and JavaScript

How to use Kotlin Coroutines in JavaScript projects, or JavaScript libraries from Kotlin Coroutines.

Learn morelearn more icon

Loading more articles...

enpluatr