Networking
Using Ktor, you'll learn how to create a REST API networking setup that can be shared across platforms. We'll be using the Firebase REST API to authenticate users, as well as read and manage user data.
Build Android and iOS apps using shared Kotlin code, with the UI built both ways: native with Compose and SwiftUI, and shared with Compose Multiplatform. The shared-UI path, plus web and desktop, is coming soon. Practical patterns that work in production.
Using Ktor, you'll learn how to create a REST API networking setup that can be shared across platforms. We'll be using the Firebase REST API to authenticate users, as well as read and manage user data.
Using the Room multiplatform database, we'll create a cache layer that is shared across platforms. This will be used to cache data that we retrieve from Firebase, allowing us to repurpose it for required functionality in our app.
Learn how to create shared code modules that can be imported as dependencies for different platforms of your app, as well as covering how to provide different implementations per-platform where required.
So that our project is well organized, you'll learn how to create multiplatform libraries, shared code modules and also how to organize platform specific code in isolated modules for improved navigation throughout the project.
While being able to write multiplatform code is a huge benefit in itself, you'll also be learning how to write tests for this shared code to prevent any regressions across platforms.
We'll be creating a native Android app using Jetpack Compose - replicating how this will look in your team and allowing us to keep the UI completely native while utilising shared multiplatform code.
We'll be creating a native iOS app using Swift UI - replicating how this will look in your team and allowing us to keep the UI completely native while utilising shared multiplatform code.
We'll be setting up dependency injection using Koin, creating a shared DI graph that can be consumed across every platform.
We'll also build the UI once with Compose Multiplatform and share it across platforms, so you cover both the native and shared approaches side by side. Coming as a free update.
We'll take the same shared code and Compose Multiplatform UI to the browser and the desktop, all from one Kotlin codebase. Coming as a free update.
Throughout the course we'll be building Jrnl, a journalling app that runs natively on both Android and iOS (desktop and web coming soon). Users can create an account, sign in, view their journal entries, create new ones and manage existing ones, all powered by a shared Kotlin core.
The Android app is built with Jetpack Compose, the iOS app with SwiftUI. Both share the same business logic, networking, persistence and state management underneath. You'll also rebuild Jrnl's UI with Compose Multiplatform, sharing it across platforms (coming soon).
You'll build the UI two ways, because they fit different projects. Native, with Compose on Android and SwiftUI on iOS, keeps each platform feeling its own. It's also the easiest way to bring Kotlin Multiplatform into an app you already have: the shared code slots in underneath a native UI, no rewrite required. Shared, with Compose Multiplatform, shares the UI itself, so one UI runs across platforms. That path is coming as a free update.
Either way, the parts you don't want to write twice (business logic, networking, persistence, state management) stay shared across platforms. What you choose is how much of the UI to share on top.
Native Compose and SwiftUI in the version available today. Next, the course grows to cover Compose Multiplatform for shared UI, and desktop and web as build targets from the same Kotlin codebase.
Share the UI itself across platforms, alongside the native Compose and SwiftUI approach you already get.
Run the same app on desktop from the shared code you've already built.
Target the browser from the same Kotlin codebase.
All of it lands as a free update. The price rises to $119 once it's complete, so buy now at $79 and get the Compose Multiplatform, desktop and web material at no extra cost.
Read the book cover to cover, or work through the same material as a progress-tracked course.
Every chapter becomes a trackable lesson. Move through the curriculum part by part, mark what you've finished, and pick up exactly where you left off.
A single purchase gets you the complete book in every format and full access to the interactive course, including all source code and every future update, the coming Compose Multiplatform, desktop and web material included. Individual purchases get automatic purchasing power parity. Buying for your team? Switch to team pricing and set your seat count.
Buy now to lock in $79. The price rises to $119 once the Compose Multiplatform, desktop and web material is complete, and every update stays free.
Joe is a Google Developer Expert for Android with over 12 years of experience in mobile development. He writes regularly about Android development at joebirch.co, covering everything from Jetpack Compose to Kotlin Multiplatform.
He's also the author of Practical Jetpack Compose, a course covering the Compose UI toolkit from fundamentals through to production patterns.