All Projects → xorum-io → kmp_mobile_template

xorum-io / kmp_mobile_template

Licence: other
Template for the development of native iOS and Android apps with shared business-logic using KMP, Redux architecture and XcodeGen.

Programming Languages

kotlin
9241 projects
swift
15916 projects
ruby
36898 projects - #4 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to kmp mobile template

devtools-library
Multiplatform, pluggable, extensible, and dynamic config library which supports YAML and JSON as a source.
Stars: ✭ 15 (-28.57%)
Mutual labels:  kotlin-multiplatform
kgl
Lightweight OpenGL abstraction for Kotlin Multiplatform
Stars: ✭ 21 (+0%)
Mutual labels:  kotlin-multiplatform
Swiftmazing
A iOS application with layout based on App Store that can check the most starred and last updated Swift repository
Stars: ✭ 73 (+247.62%)
Mutual labels:  xcodegen
island-time
A Kotlin Multiplatform library for working with dates and times
Stars: ✭ 69 (+228.57%)
Mutual labels:  kotlin-multiplatform
Sheasy
This an Android App that helps you share/manage your files on your Android Device through a WebInterface in the Browser - Built with Ktor and Kotlin-React
Stars: ✭ 34 (+61.9%)
Mutual labels:  kotlin-multiplatform
kgql
GraphQL Document wrapper generator for Kotlin Multiplatform Project and Android
Stars: ✭ 54 (+157.14%)
Mutual labels:  kotlin-multiplatform
kmp-fatframework-cocoa
A Gradle plugin to generate and publish an iOs FatFramework or XCFramework on Kotlin Multiplatform projects.
Stars: ✭ 26 (+23.81%)
Mutual labels:  kotlin-multiplatform
KmLogging
Kotlin multiplatform logging. High performance, composable and simple to use.
Stars: ✭ 21 (+0%)
Mutual labels:  kotlin-multiplatform
Notflix
Kotlin Multiplatform playground
Stars: ✭ 272 (+1195.24%)
Mutual labels:  kotlin-multiplatform
sweekt
🍭 Some sugar to sweeten Kotlin development.
Stars: ✭ 35 (+66.67%)
Mutual labels:  kotlin-multiplatform
trikot.foundation
Core utilities for Kotlin Multiplatform
Stars: ✭ 21 (+0%)
Mutual labels:  kotlin-multiplatform
tv-maniac
Tv-Maniac is a Multiplatform app (Android & iOS) for viewing TV Shows from TMDB.
Stars: ✭ 55 (+161.9%)
Mutual labels:  kotlin-multiplatform
moko-maps
Control your map from common code for mobile (android & ios) Kotlin Multiplatform development
Stars: ✭ 47 (+123.81%)
Mutual labels:  kotlin-multiplatform
libs.kmp.icerock.dev
Kotlin Multiplatform libraries list with info auto-fetch
Stars: ✭ 178 (+747.62%)
Mutual labels:  kotlin-multiplatform
LongWeekend-iOS
🏖📱 LongWeekend is iOS Application that supports checking long weekends when taking a vacation in Japan
Stars: ✭ 19 (-9.52%)
Mutual labels:  xcodegen
qbit
qbit is a kotlin-multiplatform embeddable decentralized DBMS with object-relational information model
Stars: ✭ 40 (+90.48%)
Mutual labels:  kotlin-multiplatform
moko-web3
Ethereum Web3 implementation for mobile (android & ios) Kotlin Multiplatform development
Stars: ✭ 32 (+52.38%)
Mutual labels:  kotlin-multiplatform
Dads
*BA DUM TSSS*
Stars: ✭ 240 (+1042.86%)
Mutual labels:  kotlin-multiplatform
cache4k
In-memory Cache for Kotlin Multiplatform.
Stars: ✭ 124 (+490.48%)
Mutual labels:  kotlin-multiplatform
kmpapp
👨‍💻 Kotlin Mobile Multiplatform App (Android & iOS). One Code To Rule Them All. MVVM, DI (Kodein), coroutines, livedata, ktor, serialization, mockk, detekt, ktlint, jacoco
Stars: ✭ 34 (+61.9%)
Mutual labels:  kotlin-multiplatform

KMP Mobile Template

This is a template for the development of native iOS and Android apps with shared business-logic using KMP.

Redux architecture is used to facilitate interactions between Android / iOS user-facing and common modules.

XcodeGen is used to generate .xcodeproj file from source files and project.yml file.

Find more details on this template in our Medium blog.

To Do

Once cloned do the following to adapt template to your needs.

Android (app and common folders)

  1. Update applicationId in build.gradle.
  2. Update BACKEND_LINK in common/src/commonMain/kotlin/io/xorum/network/HttpClientFactory.kt. If needed change protocol to URLProtocol.HTTPS
  3. Rename package io.xorum in app and common modules.
  4. Paste project name into the cocoapods and xcode in common/build.gradle.
  5. Rename XorumApplication class.
  6. Change app_name in strings.xml.
  7. Change root.project.name in settings.gradle.
  8. Change group in gradle.properties
  9. Change spec.homepage and spec.summary in common.podspec
  10. Change package in common/src/main/AndroidManifest.xml
  11. Don't forget to remove api.open-notify.org from network-security-config later

iOS (ios folder)

  1. Install XcodeGen (brew install xcodegen).
  2. Change all 3 folders prefixes from KMP Mobile Template to your project name.
  3. Change all occurrences of KMP Mobile Template in Podfile to your project name.
  4. Change all occurrences of KMP Mobile Template in project.yml to your project name.
  5. Update PRODUCT_BUNDLE_IDENTIFIER in project.yml.
  6. Give executable permission to init.sh (chmod +x init.sh).
  7. Execute ./init.sh every time you need updated common in iOS app.
  8. Don't forget to remove api.open-notify.org from plist later

Release

  1. Generate app/app.keystore with "app" key alias, and secure passwords (update signingConfigs).
  2. Generate provisioning profiles, and include them in project.yml.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].