├── awesome-kotlin-multiplatform.jpeg ├── contributing.md └── README.md /awesome-kotlin-multiplatform.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bipinvaylu/awesome-kotlin-multiplatform/HEAD/awesome-kotlin-multiplatform.jpeg -------------------------------------------------------------------------------- /contributing.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | Please ensure your pull request adheres to the following guidelines: 4 | 5 | - Search previous suggestions before making a new one, as yours may be a duplicate. 6 | - Suggested packages should be tested and documented. 7 | - Make an individual pull request for each suggestion. 8 | - Use the following format: `|[package](link) - Description.|Supported platforms|` 9 | - New categories, or improvements to the existing categorization are welcome. 10 | - Keep descriptions short and simple, but descriptive. 11 | - End all descriptions with a full stop/period. 12 | - Check your spelling and grammar. 13 | - Make sure your text editor is set to remove trailing whitespace. 14 | - The pull request should include a link to the package and why it should be included. 15 | 16 | Thank you for your suggestions! 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome-Kotlin-Multiplatform 2 | FKA: Awesome-Kotlin-Native 3 | 4 | ![Awesome Kotlin Multiplaform Image](https://github.com/bipinvaylu/awesome-kotlin-multiplatform/blob/master/awesome-kotlin-multiplatform.jpeg) 5 | 6 | # About 7 | A curated list of Kotlin Multiplatform [libraries](#libraries) & [resources](#resources) that support full stack: Mobile(Android/iOS), Web(JavaScript), Backend and Desktop. 8 | 9 | # Contents 10 | * [Libraries](#libraries) 11 | * [Resources](#resources) 12 | * [Contributing](#contributing) 13 | 14 | ## Libraries 15 | |Name and Description|Supported Platforms| 16 | |:-|:-| 17 | |[Atrium](https://atriumlib.org) - Assertion library | Java, Android, JS| 18 | |[Kotlinx Coroutines](https://github.com/Kotlin/kotlinx.coroutines) - Library support for Kotlin coroutines with multiplatform support.|Java, Android, Android NDK, JS, iOS, macOS, Linux, Windows| 19 | |[Kotlinx Serialization](https://github.com/Kotlin/kotlinx.serialization) - Kotlin serialization consists of a compiler plugin, which automatically produces visitor code for classes, and runtime library, which uses generated code to serialize objects without reflection.|Java, Android, Android NDK, JS, iOS, macOS, Linux, Windows| 20 | |[Kotlin IO](https://github.com/Kotlin/kotlinx-io) - Multiplatform library suitable for I/O primitives building and manipulations.|Java, Android, JS, iOS, macOS, Linux, Windows| 21 | |[Ktor](https://github.com/ktorio/ktor) - Framework for quickly creating web applications in Kotlin with minimal effort. Starting with 0.9.4, Ktor HTTP Client supports [several platforms](https://ktor.io/clients/http-client/multiplatform.html), using the multiplatform support.|Java, Android, JS, iOS, macOS, Linux, Windows| 22 | |[FuzzyWuzzy-Kotlin](https://github.com/willowtreeapps/fuzzywuzzy-kotlin) - Fuzzy string matching for Kotlin (JVM, iOS) - fork of the Java fork of of Fuzzy Wuzzy Python lib.|Android, iOS, JVM, Win, macOS, Linux, WASM| 23 | |[Multiplatform Settings](https://github.com/russhwolf/multiplatform-settings) - Library for Multiplatform mobile apps, so that common code can persist key-value data. It stores things using SharedPreferences on Android and NSUserDefaults on iOS.|Android, iOS, macOS| 24 | |[Redux-Kotlin](https://reduxkotlin.org) - Redux implementation for Kotlin supporting multiplatform. Includes a Thunk implementation and other middleware and sample apps.|Android, iOS, JVM, Win, macOS, Linux, WASM| 25 | |[SQLiter](https://github.com/touchlab/SQLiter) - SQLiter is a SQLite driver for Kotlin Multiplatform, with the intended targets of JVM/Android and all flavors of Native that support the sqlite3 c libraries.|Java, Android, iOS, macOS, Windows| 26 | |[SQLDelight](https://github.com/square/sqldelight) - Generates typesafe APIs from your SQL statements. It compile-time verifies your schema, statements, and migrations and provides IDE features like autocomplete and refactoring which make writing and maintaining SQL simple.|Java, Android, iOS| 27 | |[LocoLaser](https://github.com/PocketByte/locolaser-kotlin-mpp-example) - Localization tool that able to generate Strings Repository class with common interface for both mobile platforms: Android and iOS.|Android, iOS, macOS| 28 | |[suparnatural-concurrency](https://github.com/suparngp/kotlin-multiplatform-projects/tree/master/concurrency) - Convenient APIs for multi-platform multithreading on `iOS` and `Android`.|Android, iOS| 29 | |[suparnatural-fs](https://github.com/suparngp/kotlin-multiplatform-projects/tree/master/fs) - Kotlin Multi Platform File System access library for `iOS` and `Android`.|Android, iOS| 30 | |[suparnatural-cache](https://github.com/suparngp/kotlin-multiplatform-projects/tree/master/cache) - A superfast, thread safe in-memory cache with configurable hashing schemes backed by persistent stores with blocking/non-blocking I/O.|Android, iOS| 31 | |[Hydra Log](https://github.com/PocketByte/kotlin-hydra-log) - Allows to write logs in common module. The way how logs will written defines for each platform independently.|Java, Android, Android NDK, JS, iOS, macOS, Linux| 32 | 33 | ## Resources 34 | - Kotlin-Native learning resouces 35 | 36 | ## Contributing 37 | Your contributions are always welcome! [Please read the contribution guidelines](https://github.com/bipinvaylu/awesome-kotlin-multiplatform/blob/master/contributing.md#contribution-guidelines) first. 38 | --------------------------------------------------------------------------------