ตั้งค่าสภาพแวดล้อม (Kotlin Multiplatform)

Kotlin Multiplatform (KMP) ช่วยให้แชร์โค้ด Kotlin ข้ามแพลตฟอร์มได้ ก่อนเริ่มสร้างแอปด้วย KMP คุณจะต้องตั้งค่าสภาพแวดล้อมตามที่อธิบายไว้ในเอกสารนี้ นอกจากนี้ คุณยังดูเอกสารประกอบอย่างเป็นทางการของ JetBrain ได้ด้วย

ติดตั้งหรืออัปเดตเครื่องมือที่จำเป็น

  • ติดตั้งหรืออัปเดต Android Studio เป็นเวอร์ชันเสถียรล่าสุด
  • อัปเดตปลั๊กอิน Kotlin ที่มาพร้อมกับ Android Studio เป็นเวอร์ชันล่าสุดเพื่อหลีกเลี่ยงปัญหาความเข้ากันได้
  • (ไม่บังคับ) สําหรับการพัฒนา iOS ให้ติดตั้ง Xcode เพื่อสร้าง UI และเพิ่มโค้ด Swift หรือ Objective-C ตามต้องการ

สร้างโปรเจ็กต์ Kotlin Multiplatform

คุณสามารถใช้วิซาร์ด Kotlin Multiplatform จาก JetBrains เพื่อสร้างโปรเจ็กต์ KMP ใหม่ อย่าลืมเลือกตัวเลือกอย่าแชร์ UI เพื่อคง UI เดิมไว้

โครงสร้างโปรเจ็กต์

โปรเจ็กต์ KMP มีโครงสร้างโปรเจ็กต์คล้ายกับโปรเจ็กต์ Android

โปรเจ็กต์ KMP มีโมดูลเฉพาะแพลตฟอร์มพร้อมกับโมดูลที่แชร์ เพิ่มโค้ดเฉพาะแพลตฟอร์มลงในโมดูลที่เกี่ยวข้อง เช่น เพิ่ม UI ของแอป Android ในโมดูล androidApp และ UI ของแอป iOS ใน iosApp โค้ดที่ต้องการแชร์ระหว่างแพลตฟอร์มต่างๆ จะอยู่ในส่วนโมดูลที่แชร์

โมดูลที่แชร์ใช้ Gradle เป็นระบบบิลด์เช่นเดียวกับโปรเจ็กต์ส่วนอื่นๆ คุณสามารถประกาศการพึ่งพาทั่วไปและเฉพาะแพลตฟอร์มได้โดยใช้แหล่งที่มา ตัวอย่างเช่น หากแอปใช้ Ktor สำหรับเครือข่าย คุณจะต้องเพิ่มข้อกําหนดของ OkHttp สําหรับ Android และข้อกําหนดของ darwin สําหรับ iOS โปรดทราบว่าไลบรารีบางรายการต้องใช้เฉพาะไลบรารีที่ใช้ร่วมกันและไม่จำเป็นต้องใช้ไลบรารีเฉพาะแพลตฟอร์ม

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)
   }
}

เมื่อเพิ่มไลบรารีใหม่ลงในโมดูลที่แชร์ของแอป โปรดตรวจสอบว่ามีแพลตฟอร์มใดบ้างที่ต้องพึ่งพาไลบรารีนั้น