Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Kotlin Multiplatform

Introduction to Kotlin Multiplatform

This presentation introduces Kotlin Multiplatform (KMP), a powerful framework for cross-platform development. We'll explore what KMP is, its key advantages and potential challenges. The talk will also include personal insights from developing without KMP.

Mobile Dev Japanというイベントで登壇した際に利用した、KMPのイントロダクションについてのスライドです。以下3点について話しています。
1. KMPの概要
2. 利点とチャレンジ
3. KMPを使わずに開発していたときの経験

Yuya Harada

July 29, 2024
Tweet

Other Decks in Technology

Transcript

  1. ©2024 Wantedly, Inc. Provide overview of Kotlin Multiplatform if it

    is worth considering for your projects? 🤔 My Goal
  2. ©2024 Wantedly, Inc. What is Kotlin Multiplatform? Kotlin shared code

    • Abbreviation: KMP • Tool to build apps with a single Kotlin codebase • Can be shared across platforms App App
  3. ©2024 Wantedly, Inc. Share logic and keep the UI native

    UI • iOS → SwiftUI • Android → Jetpack Compose https://www.jetbrains.com/kotlin-multiplatform/ Logic • KMP
  4. ©2024 Wantedly, Inc. Share both logic and UI UI •

    Compose Multiplatform ⚠ iOS is in Beta https://www.jetbrains.com/kotlin-multiplatform/ Logic • KMP
  5. ©2024 Wantedly, Inc. ✅ Share business logic across platforms App

    App business logic KMP • networking • data storage • data parsing
  6. ©2024 Wantedly, Inc. Share logic and keep the UI native

    UI • iOS → SwiftUI • Android → Jetpack Compose https://www.jetbrains.com/kotlin-multiplatform/ Logic • KMP
  7. ©2024 Wantedly, Inc. Repository UseCase ViewModel UI KMP An app

    that fetches random news data • SwiftUI • Jetpack Compose
  8. ©2024 Wantedly, Inc. Challenges 🤖 Requires Kotlin knowledge & IDE

    🐘 Familiarity with Gradle 📚 Library limitations
  9. ©2024 Wantedly, Inc. Challenges Faced iOS • Redundant business logic

    • Duplicate unit tests Logic UI Local DB Unit Test Android Logic UI Local DB Unit Test Time-consuming development
  10. ©2024 Wantedly, Inc. Provide a clear overview of KMP if

    KMP is worth considering for your projects? 🤔 My Goal