Mobile Kotlin project aimed at simplifying and accelerating the development of native mobile applications for Android and iOS using Kotlin Multiplatform technology.
Project template
- 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);
- 🇺🇸 KotlinConf 2019 - Kotlin Multiplatform in action (moko-widgets);
- 🇷🇺 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);
- 🇷🇺 Android Broadcast 2021 - MOKO framework for Kotlin Multiplatform Mobile (moko overview);
- 🇷🇺 Kotlin Multiplatform Mobile. MOKO. MVVM #1 (moko-mvvm);
- 🇷🇺 Kotlin Multiplatform Mobile. MOKO. units #1 (moko-units, moko-kswift);
- 🇷🇺 Kotlin Multiplatform Mobile. MOKO. units #2 (moko-units, moko-utils);
- 🇺🇸 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);
Used in projects (by IceRock)
- Campus - Play Market, AppStore;
- ClockedIn - 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 experiments on 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;
- WeatherApp-Multiplatform - GitHub;
- EpisodeTracker - 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;
- ToDometerKotlinMultiplatform - GitHub.