Jonas Franz
cbe1f58b47
|
7 years ago | |
---|---|---|
common | ||
gradle/wrapper | ||
js | ||
jvm | ||
native | ||
.gitignore | ||
Aufbau-1.jpg | 7 years ago | |
Aufbau.pdf | 7 years ago | |
LICENSE | ||
README.md | 7 years ago | |
build.gradle | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
logo-text.png | 7 years ago | |
logo-text.svg | 7 years ago | |
settings.gradle |
README.md
Demo eines Kotlin Mutliplatform Project (KMPP)
Dieses Beispiel zeigt einen zwischen den Platformen geteilten Teil (common
) und die platform-spezifischen Implementierungen (JVM
, JS
, native
).
Zusätzlich gibt es noch eine iOS-App, die die native
-Library verwendet. Dies zeigt somit das Prinzip, dass die Geschäftslogik in Kotlin geschrieben und "geteilt" wird, und die Benutzeroberfläche mit dem spezifischen Standartwerkzeugen wie Swift bei iOS erzeugt werden.
Das Beispiel ist sehr trivial, da es lediglich zwei Funktionen zeigt, welche sich darin unterscheiden, dass die eine keine platformspezifische Implementierung benötigt und die andere eine solche benötigt. Dies resultiert darin, dass beispielsweise bei JVM
, platform-jvm
für die Funktione Common().platform()
ausgegeben wird.
Unterstützte* Technologien
- iOS
- Android (
JVM
) - Web (
JS
) - Backend (
JVM
,JS
)
*= für "geteilten" Quellcode / Geschäftslogik