
Explore Kotlin multiplatform basics by defining targets and source sets in a Gradle build, separating common main code from android main and ios main, and implementing the expect/actual mechanism.
Explore Kotlin multiplatform and compose multiplatform, comparing their scope: KMP enables cross-platform code sharing, while compose multiplatform focuses on reusable UI across Android, iOS, web, and desktop.
Choose the right IDE for Kotlin multiplatform development by weighing Android Studio with Xcode versus Fleet, noting iOS simulator requires Xcode, and install Android Studio, Xcode, and JetBrains Toolbox.
You need to send me your Github username to invite you as a collaborator, since the repository is private by default. Message me and I'll invite you right away!
Here's the link of my repository: https://github.com/stevdza-san/CurrencyApp
Navigate the compose multiplatform project structure, covering Android and iOS directories, version catalog, Android and iOS targets, and the common main with a composable UI entry point.
Choose a light and dark color theme using material 3 with Jetpack Compose, update dependencies, export colors from the material theme builder, and implement custom colors tied to system theme.
Create model classes in a domain model package to deserialize an API response, test the get request with postman, and implement meta, metadata, and currency data classes with serializable annotation.
Implement a get request in the currency API service with an interface and implementation, returning currencies list in a generic request state sealed class for idle, loading, success, and error.
Create a reusable amount input composable for the home header, a text field with decimal keyboard, styled white and transparent, bound to a state amount parameter, height matching currency views.
Persist user currency selections with a multi-platform settings library by saving and reading source and target currencies (default USD and EUR), updating the home view model and UI accordingly.
Implement and animate a switch currencies button between source and target views, handling a switch currencies UI event, swapping currency values, and adding a rotation animation via a viewmodel-driven click.
Create a currency picker dialog with a searchable alert dialog in a Compose Multiplatform app, enabling users to filter currencies, select a code, and persist the selection.
Handle clicks on source and target currency views and update the currency type. Open currency picker, persist the selected currency code via preferences repository, and reflect changes in the UI.
Learn to add a custom font for the exchanged amount text in a multiplatform Kotlin project, loading Bebas Neue on Android and iOS with a custom composable font loader.
Replace the official icons with the feather pack via the new compose icons dependency for the currency code picker. Prepare to migrate from realm to SQLite in the next video.
Migrate from Realm to SQLDelight in a multiplatform Kotlin app by updating dependencies, adding SQLite drivers for Android and iOS, and generating Kotlin APIs from SQL statements.
Build a Mobile App for Android and iOS with 100% shared code for business logic as well as UI! That’s right. With the help of Compose Multiplatform framework, you will be able to fully develop an app, for both platforms using single programming language, Kotlin.
Forget about Flutter, React Native and other silly frameworks. Compose Multiplatform is the Future of multiplatform development, that targets not just mobile platforms, but Web and Desktop as well!
This is a 2 hour, well organized and concise course, carefully crafted to teach you exactly what you need to know, to be able to achieve this goal, as quickly as possible. I’m not gonna waste a second of your time, like other 20 hour courses that you’ve had experience with before.
You’re starting this journey by introducing with some important concepts related to Kotlin Multiplatform development, requirements and other steps to prepare your environment.
After that we’re immediately starting with the project. The app itself is a simple Currency app that fetches a data from a third-party API and caches that data locally. The app will be able to work even without an internet connection. You’re going to work with both local and a remote data sources.
Both light/dark themes are supported.
New material 3 components.
Custom theming.
Custom UI components.
Smooth animations.
And more!
So what are you waiting for, it’s time to sharpen your skills and learn the right stuff.