https://kotlinlang.org logo
#multiplatform
Title
# multiplatform
m

marcinmoskala

12/10/2017, 5:38 PM
Hey, guys. I will officially publish it tomorrow (in Monday) at around 9 GTM but it would be really nice to have some feedback before. It is really important article for me and I hope it will be also for multiplatform Kotlin development. I am still doing corrections but every feedback is appreciated. Even typos or misspells. (post will be published in medium, but I've changed link to docs so everybody can add comment) Docs where you can comment and suggest changes: https://docs.google.com/document/d/1PnLpA9RLvVy_n2vcdRZ0q1AT4dC_0d3IAZ_ZwyjuRac/edit?usp=sharing How article looks like: https://blog.kotlin-academy.com/architecture-for-multiplatform-development-in-kotlin-cc770f4abdfd
👍🏽 5
j

JacobPed

12/10/2017, 6:11 PM
This is really great work, thank you very much for your effort and sharing it. I've been looking forward to this article. 😄 I really like how you explained the module splits and how they relate. One thing I think would be nice for a future article is an explanation of your gradle scripts and how they relate. I tried to get an understanding of how your compilation works with all the modules but it looked so incredibly complex. Especially the JavaScript modules. I clearly have a lot to learn, but it's a topic that's barely any information about in any articles I've read. 🙂
Oh, it would probably be a good idea to include a link to your Github repository for the project.
m

marcinmoskala

12/10/2017, 6:39 PM
Thanks a lot 🙂 I am planning to make separate article about gradle in multiplatform project but before that I will have to clean-up and fix all my scripts first xP It was not such a high priority so I was satisfied with working state but there is still a lot to be done in this subject. I also have to go deeper into WebPack. BDW Udacity have great free course for Gradle 🙂 https://www.udacity.com/course/gradle-for-android-and-java--ud867
I have added the link. Thanks for the suggestion
i

ilya.gorbunov

12/11/2017, 12:54 AM
"is interop with" doesn't sound good to me. Maybe it'd better "has interop with" or "is interoperable with"?
💯 1
👍 1
What is the difference between plain modules and common modules?
m

marcinmoskala

12/11/2017, 3:39 AM
@ilya.gorbunov Common modules can have expected declarations of platform dependent types and functions https://kotlinlang.org/docs/reference/multiplatform.html
i

ilya.gorbunov

12/11/2017, 3:39 AM
And plain modules? What are they then?
m

marcinmoskala

12/11/2017, 3:41 AM
You can make just plain kotlin module/library. It is defined differently and cannot have expected declarations but we don't need to make platform modules to it
i

ilya.gorbunov

12/11/2017, 3:42 AM
So basically a plain module is one of Kotlin/JVM, /JS, /Native?
m

marcinmoskala

12/11/2017, 3:42 AM
This are called regular modules
But I meant plain Kotlin module - regular module in Kotlin that is not directed to any platform. It can be used from Kotlin/JS, Kotlin/JMV and Kotlin/Native
i

ilya.gorbunov

12/11/2017, 3:44 AM
Ok, then I still don't get what is the difference from common. Do plain modules have
apply plugin: 'kotlin-platform-common'
in their gradle files?
m

marcinmoskala

12/11/2017, 3:44 AM
no
It will have only
apply plugin: 'kotlin'
i

ilya.gorbunov

12/11/2017, 3:50 AM
Then these are just Kotlin/JVM modules, they can be used as dependencies only for other JVM projects.
m

marcinmoskala

12/11/2017, 3:50 AM
I need a better example xP
Looks like you just found big error in this article 🙂 👏 I was sure I've seen references to plain Kotlin module but I see now that it can be defined only as Common module
g

gildor

12/11/2017, 5:34 AM
Good article 👍 And additional like for image with Singapore (bridge photo) 🇸🇬
😄 1
3 Views