Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MarcinMoskala/KotlinMultiplatformExample
https://github.com/MarcinMoskala/KotlinMultiplatformExample
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/MarcinMoskala/KotlinMultiplatformExample
- Owner: MarcinMoskala
- License: apache-2.0
- Created: 2018-07-17T18:51:55.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-09-26T19:00:55.000Z (about 6 years ago)
- Last Synced: 2024-04-12T02:25:37.543Z (7 months ago)
- Language: Kotlin
- Size: 269 KB
- Stars: 45
- Watchers: 7
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Start
# Known problems
You might see:
Configuration on demand is not supported by the current version of the Android Gradle plugin since you are using Gradle version 4.6 or above. Suggestion: disable configuration on demand by setting org.gradle.configureondemand=false in your gradle.properties file or use a Gradle version less than 4.6.Also:
Error:The modules ['android', 'mobile'] point to the same directory in the file system.
Each module must have a unique path.# Hacks
Multiplatform development in Kotlin still have some limitations.
This is why I had to apply some hacks which are temporary.## Native dependencies
Cannot declare Gradle dependencies on Konan yet, so we just include sources.
https://youtrack.jetbrains.net/issue/KT-25582
## Names generated by JS
Generated names for functions have mashed names. This is why from:
```
interface QuotationView {
fun showQuote(quote: Quote)
}
```We have function required named `showQuote_4z1tej$`
https://youtrack.jetbrains.net/issue/KT-25583
## Mixing Kotlin and Swift dependencies is not allowed in Konan
We cannot do:
```
class ViewController : UIViewController, QuotationView {override fun showQuote(quote: Quote) {
textView.text = quote.text
authorView.text = quote.person
}//...
}
```We need to do instead:
```
class ViewController : UIViewController {private val quotationView = object : QuotationView {
override fun showQuote(quote: Quote) {
textView.text = quote.text
authorView.text = quote.person
}
}// ...
}
```