Hey, guys. I will officially publish it tomorrow (...
# multiplatform
m
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
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
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
"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
@ilya.gorbunov Common modules can have expected declarations of platform dependent types and functions https://kotlinlang.org/docs/reference/multiplatform.html
i
And plain modules? What are they then?
m
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
So basically a plain module is one of Kotlin/JVM, /JS, /Native?
m
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
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
no
It will have only
apply plugin: 'kotlin'
i
Then these are just Kotlin/JVM modules, they can be used as dependencies only for other JVM projects.
m
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
Good article πŸ‘ And additional like for image with Singapore (bridge photo) πŸ‡ΈπŸ‡¬
πŸ˜„ 1