This diary records setting up the project and learning about the current bleeding edge libraries for multiplatform app development with Jetpack Compose Multiplatform.
Spoiler: it can be somewhat frustrating
Note: This project was initially bootstrapped from the all-platforms template. However, once it became apparent that supporting multiple platforms requires a lot of platform-specific work, I recreated the project based on the iOS + Android template. The old project repository is retained here.
After the stable release of Compose Multiplatform was announced, the project was manually updated to match the structure generated by the wizard.
- Apple M1 Max MacBook Pro with 64 GB of memory
- MacOS Sonoma 14.0
- XCode 15.0
- Android Studio Giraffe 2022.3.1 Patch 2
- OpenJDK 17 (from Homebrew, see diary below)
- Setting up basic structure
- State and navigation
- Cocoapods
- Adding images
- Database
- Upgrading
- ...
- Conclusion
See also:
- Troubleshooting common errors
Compose Multiplatform
- Project page
- Kotlin Multiplatform Wizard
- Getting started -guide
- iOS + Android template
- Multiplatform template
- Example projects
Jetpack Compose
Other resources
Other projects or blogs regarding Compose Multiplatform projects:
- Appyx navigation example
- Cocoapods integration instructions for Kotlin/Native
- Kotlin Multiplatform by Tutorials from Kodeco
- Compose Multiplatform Movie App
- Jetpack Compose Multiplatform Android & iOS
- From Android to Multiplatform: Real 100% Jetpack Compose App
- Compose Multiplatform Moko resource integration
- Resource management and cocoapods issue
- Todometer KMP
- Create a multiplatform app using Ktor and SQLDelight – tutorial
- Charts: AAY-chart