×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
©2024 Wantedly, Inc. Introduction to Kotlin Multiplatform Jul 26, 2024 - Yuya Harada
Slide 2
Slide 2 text
©2024 Wantedly, Inc. At a tech event in June…
Slide 3
Slide 3 text
©2024 Wantedly, Inc. Wantedly's Key iOS Tech Stack
Slide 4
Slide 4 text
©2024 Wantedly, Inc. Wantedly's Key iOS Tech Stack + SwiftUI Kotlin Multiplatform
Slide 5
Slide 5 text
©2024 Wantedly, Inc. "Why use Kotlin for iOS? Isn't it for Android?" 🤔 🤔 🤔
Slide 6
Slide 6 text
©2024 Wantedly, Inc. Agenda 1. Explore Kotlin Multiplatform 2. Advantages and Challenges 3. Personal Experience
Slide 7
Slide 7 text
©2024 Wantedly, Inc. Provide overview of Kotlin Multiplatform My Goal
Slide 8
Slide 8 text
©2024 Wantedly, Inc. Provide overview of Kotlin Multiplatform if it is worth considering for your projects? 🤔 My Goal
Slide 9
Slide 9 text
©2024 Wantedly, Inc. Agenda 1. Explore Kotlin Multiplatform 2. Advantages and Challenges 3. Personal Experience
Slide 10
Slide 10 text
©2024 Wantedly, Inc. "Has anyone here tried Kotlin Multiplatform?" 🙋 🙋 🙋
Slide 11
Slide 11 text
©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
Slide 12
Slide 12 text
©2024 Wantedly, Inc. Share logic and keep the UI native UI • iOS → SwiftUI • Android → Jetpack Compose https://www.jetbrains.com/kotlin-multiplatform/ Logic • KMP
Slide 13
Slide 13 text
©2024 Wantedly, Inc. Share both logic and UI UI • Compose Multiplatform ⚠ iOS is in Beta https://www.jetbrains.com/kotlin-multiplatform/ Logic • KMP
Slide 14
Slide 14 text
©2024 Wantedly, Inc. Agenda 1. Explore Kotlin Multiplatform 2. Advantages and Challenges 3. Personal Experience
Slide 15
Slide 15 text
©2024 Wantedly, Inc. ✅ Share business logic across platforms App App business logic KMP • networking • data storage • data parsing
Slide 16
Slide 16 text
©2024 Wantedly, Inc. An app that fetches random news data
Slide 17
Slide 17 text
©2024 Wantedly, Inc. Repository UseCase ViewModel UI An app that fetches random news data
Slide 18
Slide 18 text
©2024 Wantedly, Inc. Share logic and keep the UI native UI • iOS → SwiftUI • Android → Jetpack Compose https://www.jetbrains.com/kotlin-multiplatform/ Logic • KMP
Slide 19
Slide 19 text
©2024 Wantedly, Inc. Repository UseCase ViewModel UI An app that fetches random news data
Slide 20
Slide 20 text
©2024 Wantedly, Inc. Repository UseCase ViewModel UI KMP An app that fetches random news data • SwiftUI • Jetpack Compose
Slide 21
Slide 21 text
©2024 Wantedly, Inc. Advantages ♻ Code Reusability 🧑🔧 Maintainability ✅ Reducing test burden
Slide 22
Slide 22 text
©2024 Wantedly, Inc. Challenges 🤖 Requires Kotlin knowledge & IDE 🐘 Familiarity with Gradle 📚 Library limitations
Slide 23
Slide 23 text
©2024 Wantedly, Inc. Agenda 1. Explore Kotlin Multiplatform 2. Advantages and Challenges 3. Personal Experience
Slide 24
Slide 24 text
©2024 Wantedly, Inc. Personal Experience Without KMP Team Composition 🧑💻 👨💻
Slide 25
Slide 25 text
©2024 Wantedly, Inc. Team Composition 🧑💻 👨💻 Platforms Personal Experience Without KMP
Slide 26
Slide 26 text
©2024 Wantedly, Inc. Team Composition 🧑💻 👨💻 Platforms Development Process Personal Experience Without KMP
Slide 27
Slide 27 text
©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
Slide 28
Slide 28 text
©2024 Wantedly, Inc. “If I could use KMP, it eliminates redundancy…” 😩😩😩
Slide 29
Slide 29 text
©2024 Wantedly, Inc. Provide a clear overview of KMP if KMP is worth considering for your projects? 🤔 My Goal
Slide 30
Slide 30 text
©2024 Wantedly, Inc. https://www.wantedly.com/companies/wantedly/post_articles/913551
Slide 31
Slide 31 text
©2024 Wantedly, Inc. Thank you for listening!! 🎉🎉🎉