Template Multi-platform Project
First of all, now it is possible to create a template project to start exploring the new Multi-platform projects feature.
Please keep in mind that multi-platform projects should be built with Gradle.
When you compile a project such as this for a specific platform, IntelliJ IDEA generates the code for both the common and platform-specific parts.
Detecting Expected Declarations Without the Corresponding Actual Declarations
To call platform-specific code from a common module, you can specify expected declarations – declarations for which all platform-specific modules need to provide actual declarations.
Expected declarations should have actual declarations in the platform-specific module.
IntelliJ IDEA 2017.3 will detect and alert you if you try to use an expected declaration without the corresponding actual declarations.
Intention Action to Create the Actual Class
For missing declarations for JS and JVM platforms, the Kotlin plugin provides an intention action to create actual declarations.
Navigation Between Expected and Actual Declarations
The IDE provides a gutter icon which lets you easily navigate between expected and actual declarations.