Mobile Kotlin project aimed at simplifying and accelerating the development of native mobile applications for Android and iOS using Kotlin Multiplatform technology.
Compose Multiplatform
MOKO libraries supports Compose Multiplatform UI framework. Check badge .
Libraries that not have badge also can be used in projects, that use Compose Multiplatform, but just have direct interop with Compose (because it’s not UI libraries).
Project template
- moko-compose-multiplatform-ios-android-template is Compose Multiplatform template for Android & iOS with integrated MOKO libraries and sample of common use cases.
- moko-compose-multiplatform-template is Compose Multiplatform template for Android, Desktop & iOS with integrated MOKO libraries and sample of common use cases.
- moko-template is mobile multiplatform project template with integrated MOKO libraries and sample of common use cases (input form, items list, item details).
Gradle plugins
-
dev.icerock.moko.kswift - Swift-friendly api generator for Kotlin/Native frameworks
-
dev.icerock.mobile.multiplatform - Gradle plugin for simplify Kotlin Multiplatform mobile configurations
Libraries
Architecture
-
moko-mvvm - Model-View-ViewModel architecture components
-
moko-permissions - Runtime permissions controls
-
moko-errors - simple errors handling
Device
-
moko-resources - Resources access
-
moko-media - Media selection & presenting
-
moko-geo - geolocation tracking
-
moko-biometry - Touch ID, Face ID from common code
Network
-
moko-network - http network communications based on ktor-client
-
moko-socket-io - socket.io communication in common code
Logic
-
moko-fields - fields with validations for implementing forms
-
moko-paging - lists pagination with coroutines and LiveData integrations
UI
-
moko-widgets - Multiplatform UI DSL to build Android and iOS apps from common code
-
moko-units - composing units into list and show in RecyclerView/UITableView/UICollectionView. Control your lists from common code
-
moko-graphics - graphics types like Color and others
Integrations
-
moko-crash-reporting - integration with crash reporting systems like Firebase Crashlytics. Also contains integration with loggers like Napier
-
moko-maps - control content of GoogleMapView from common code
-
moko-tensorflow - Tensorflow Lite bindings for KMM
-
moko-javascript - JavaScript evaluation from kotlin common code
-
moko-web3 - Ethereum Web3 implementation
Utils
-
moko-parcelize - @Parcelize support in common code
-
moko-test - utilities for unit tests
-
moko-utils - utilities for KMM
Links
- 🇺🇸 Kotlin Multiplatform — MVVM & Clean Architecture (moko-mvvm);
- 🇺🇸 Kotlin Multiplatform — Firebase + MVVM (moko-mvvm);
- 🇷🇺 Kotlin Multiplatform — библиотека moko (moko overview);
- 🇺🇸 Creating a simple Kotlin Multiplatform project based on moko-template (moko-template and libs);
- 🇺🇸 How to implement Swift-friendly API using Kotlin Multiplatform Mobile (moko-kswift);
- 🇺🇸 Sharing Resources on Kotlin Multiplatform with moko-resources (moko-resources);
- 🇺🇸 How to use Kotlin Multiplatform ViewModel in SwiftUI and Jetpack Compose (moko-mvvm);
- 🇺🇸 Exposing the separate resources module to iOS target using moko-resources in KMM (moko-resources);
- 🇺🇸 Kotlin Multiplatform Mobile: young technology with promising future (moko-resources, moko-mvvm);
- 🇺🇸 Kotlin Multiplatform Mobile — sharing the UI State management (moko-mvvm);
- 🇷🇺 Kotlin Multiplatform Mobile — совместное управление состоянием пользовательского интерфейса (moko-mvvm);
- 🇺🇸 My Kotlin Multiplatform Mobile learning curve (moko-mvvm);
- 🇺🇸 Kotlin Multiplatform Mobile I18n for Android and iOS Apps (moko-resources);
- 🇷🇺 Как сделать удобное взаимодействие с Kotlin из Swift: решение с помощью плагина MOKO KSwift (moko-kswift);
- 🇺🇸 How To Build A Cross Platform Mobile App With Kotlin Multiplatform 1/2 — Shared Code (moko-mvvm);
- 🇺🇸 We Fast-Tracked Our App Development With Kotlin Multiplatform Mobile (moko-resources);
- 🇺🇸 MOKO resources 0.21 with Compose Multiplatform support (moko-resources);
- 🇺🇸 Digging into KMM (moko-mvvm);
- 🇺🇸 Maximizing Mobile Code Reuse with Compose Multiplatform and MOKO Libraries;
- 🇺🇸 From Android to Multiplatform: Real 100% Jetpack Compose App. Part 1 — Resources (moko-resources);
- 🇺🇸 Getting Started with Kotlin Multiplatform 2/n: Moko Shared View Model & Koin DI (moko-mvvm);
- 🇺🇸 Migrating an Android app to iOS with KMP — Part III: UI and Compose Multiplatform (moko-resources, moko-mvvm);
Videos
- 🇺🇸 Kotlin by JetBrains - Build an iOS & Android app in 100% Kotlin with Compose Multiplatform (moko-mvvm);
- 🇺🇸 Philipp Lackner - How to Share Resources in KMM (Strings, Images, etc.) (moko-resources);
- 🇺🇸 Philipp Lackner - Permission Handling in Compose Multiplatform - KMP for Beginners (moko-permissions);
- 🇺🇸 Oday - Compose Multiplatform iOS @android Android - Fetch Image Results with ViewModel (moko-mvvm);
- 🇺🇸 KotlinConf 2019 - Kotlin Multiplatform in action (moko-widgets);
- 🇷🇺 Android Broadcast 2021 - MOKO framework for Kotlin Multiplatform Mobile (moko overview);
- 🇷🇺 IceRock - Kotlin Multiplatform Mobile. MOKO. MVVM #1 (moko-mvvm);
- 🇷🇺 IceRock - Kotlin Multiplatform Mobile. MOKO. units #1 (moko-units, moko-kswift);
- 🇷🇺 IceRock - Kotlin Multiplatform Mobile. MOKO. units #2 (moko-units, moko-utils);
- 🇷🇺 Kotlin/Everywhere Novosibirsk 2019 - LiveCoding: iOS и Android на Kotlin Multiplatform (moko-widgets);
- 🇷🇺 Kotlin/Everywhere Minsk 2019 - Опыт работы с Kotlin Multiplatform. Взгляд со стороны iOS-программиста (moko overview);
- 🇷🇺 Kotlin/Everywhere Novosibirsk 2019 - Kotlin Multiplatform в production. Реальные примеры, польза и планы на будущее (moko overview);
Used in projects (by IceRock)
- Campus - Play Market, AppStore;
- ClockedIn - Play Market, AppStore;
- Flipping Book - Play Market, AppStore;
- Naked Science - Play Market, AppStore;
- Мойка-Мойка - Play Market;
- Recipes - Play Market, AppStore;
- My Fridge - Play Market;
- Krohne - Play Market, AppStore;
- QR Express - Play Market, AppStore;
- Alliance Trucks - Play Market, AppStore;
- Virtual Vibe - Play Market;
- BMW Motorrad - Play Market, AppStore;
- Delivery Club - Picker App - Play Market;
- НЕВОТОН - Play Market, AppStore;
- Snow4u - Play Market, AppStore;
- PRIMETIME - Play Market, AppStore;
- Apatris Mobile Wallet - AppStore;
- BeGreat - Play Market;
- ENDO Legacy - Play Market, AppStore;
- VEKA Measurer 2.0 - Play Market, AppStore;
- KotlinConf Locator - Play Market, AppStore, GitHub;
Used in projects (not by IceRock)
- PokeRaid - Play Market, AppStore;
- YouCan - Play Market, AppStore;
- BarnTalk - Play Market, AppStore;
- Currency Converter Calculator - Play Market, GitHub;
- AliRadar - 4PDA, AppStore;
Used in open source apps on GitHub
- tivi - GitHub;
- ToDometerKotlinMultiplatform - GitHub;
- WeatherApp-Multiplatform - GitHub;
- EpisodeTracker - GitHub;
- Reader - GitHub;
- QuotesApp - GitHub;
- Compose Multiplatform Weatcher App - GitHub;
- Rhasspy Mobile - GitHub;
- open-otp - GitHub;
- recipies - GitHub;
- DroidKaigi conference app - GitHub;
- Hyperskill mobile app - GitHub
Used in experiments on GitHub
- MyBirdApp - GitHub;
- SpaceXRockets - GitHub;
- BluetoothChatMpp - GitHub;
- WordTeacher - GitHub;
- LikeAStarMpp - GitHub;
- compoza.lite2.moko - GitHub;
- IDScanner - GitHub;
- Pl_io - GitHub;
- VpnApp - GitHub;
- konet - GitHub;
- TodoList - GitHub;
- open-banking-app - GitHub;
- LiquidMultiplatform - GitHub;
- dukecon_mobile - GitHub;
- gtcompanion - GitHub;
- paris-respire-app - GitHub;
- portfolio_android - GitHub;
- herdr - GitHub;
- android-template - GitHub;
- com.rompos.activator.kmm - GitHub;
- Lynx - GitHub;
- corona-multiplatform - GitHub;
- com.rompos.deactivator - GitHub;
- CameraSample - GitHub;
- GithubKmp2 - GitHub;
- zakupy - GitHub;
- ArcsecondKmp - GitHub;
- GitHubUserFinderKMM - GitHub.