Kotlin Multiplatform (KMP) เปิดใช้การแชร์โค้ด Kotlin ใน ในแพลตฟอร์มต่างๆ ก่อนที่จะเริ่มสร้างแอปด้วย KMP คุณจะต้อง ตั้งค่าสภาพแวดล้อมของคุณตามที่อธิบายไว้ในเอกสารนี้ และคุณยังดู เอกสารอย่างเป็นทางการของ Jetbrain
ติดตั้งหรืออัปเดตเครื่องมือที่จำเป็น
- ติดตั้งหรืออัปเดต Android Studio เป็นเวอร์ชันล่าสุดที่เสถียร
- อัปเดตปลั๊กอิน Kotlin ที่มาพร้อมกับ Android Studio เป็นเวอร์ชันล่าสุดเพื่อหลีกเลี่ยงปัญหาเรื่องความเข้ากันได้
- (ไม่บังคับ) สำหรับการพัฒนา iOS ให้ติดตั้ง Xcode เพื่อสร้าง UI และเพิ่มโค้ด Swift หรือ Objective-C ตามที่จำเป็น
สร้างโปรเจ็กต์ Kotlin Multiplatform
คุณใช้วิซาร์ดหลายแพลตฟอร์มของ Kotlin จาก Jetbrains ได้เพื่อทำสิ่งต่อไปนี้ สร้างโปรเจ็กต์ KMP ใหม่ โปรดเลือกช่อง อย่า UI การแชร์เพื่อคง UI แบบดั้งเดิมไว้
โครงสร้างของโครงการ
โปรเจ็กต์ KMP มีโครงสร้างโปรเจ็กต์ที่คล้ายกับโปรเจ็กต์ Android
โปรเจ็กต์ KMP มีโมดูลเฉพาะแพลตฟอร์ม รวมถึงโมดูลที่แชร์ เพิ่มโค้ดเฉพาะแพลตฟอร์มลงในโมดูลที่เกี่ยวข้อง เช่น เพิ่ม UI ของแอป Android ในโมดูล androidApp และ UI ของแอป iOS ใน iosApp โค้ดที่คุณต้องการแชร์ระหว่างแพลตฟอร์มจะอยู่ในโมดูลแชร์
โมดูลที่แชร์ใช้ Gradle เป็นระบบเช่นเดียวกับส่วนที่เหลือของ คุณสามารถประกาศทรัพยากร Dependency ทั่วไปและเฉพาะแพลตฟอร์มได้โดยใช้ แหล่งที่มา ตัวอย่างเช่น หากแอปของคุณใช้ Ktor สําหรับเครือข่าย คุณจะต้องเพิ่ม ทรัพยากร Dependency ของ OkHttp สำหรับ Android และการพึ่งพา Darwin สำหรับ iOS โปรดทราบว่า ไลบรารีต้องการเฉพาะทรัพยากร Dependency ทั่วไปและไม่ต้องการเฉพาะแพลตฟอร์ม ทรัพยากร Dependency
sourceSets {
commonMain.dependencies {
//put your multiplatform dependencies here
//...
implementation(libs.ktor.client.core)
implementation(libs.ktor.client.content.negotiation)
implementation(libs.ktor.serialization.kotlinx.json)
//...
}
androidMain.dependencies {
implementation(libs.ktor.client.okhttp)
}
iosMain.dependencies {
implementation(libs.ktor.client.darwin)
}
}
เมื่อคุณเพิ่มไลบรารีใหม่ลงในโมดูลที่แชร์ของแอป อย่าลืม ทรัพยากร Dependency ที่จำเป็นสำหรับแต่ละแพลตฟอร์ม