type system ➔ Mutability Protection ◆ Mutability notation is a requirement. ◆ You must choose val or var. ➔ The Magical Fun ◆ Normal Function ◆ Higher order function and Lambda ◆ Inline fun ◆ Function Literal with Receiver ◆ Extension Function (Kotlin’s white Magic) ➔ Class and Object ◆ Class @Jasoet ◆ Inheritance ◆ Data Class ◆ Object Notation (the real form) ◆ Companion Object ◆ Sealed Class ◆ Destructuring ◆ Enum Class ➔ Safety Belt ◆ `is` operator ◆ Smart Cast ◆ Unchecked Exception (No more “Exception Driven Programming”) ◆ Type Alias ➔ Coroutine
• Interoperability with C and Objective-C • Flexible • Garbage Collector • Support Multiple Target Platform https://kotlinlang.org/docs/mpp-supported-platforms.html
• Common code ◦ language, core libraries, and basic tools. Works everywhere on all platforms ◦ Ktor, Koin • Interoperability ◦ Access platform specific code and leverage all capabilities ◦ Natively integrated. Smooth interop. • Code sharing ◦ Optional sharing. Low risk. No big decisions. ◦ Code sharing, not cross-platform