Ortamınızı kurma (Kotlin Multiplatform)

Kotlin Multiplatform (KMP), Kotlin kodunun farklı platformlarda paylaşılmasını sağlar. KMP ile uygulama derlemeye başlamadan önce ortamınızı bu dokümanda açıklandığı gibi ayarlamanız gerekir. Jetbrain'in resmi belgelerini de inceleyebilirsiniz.

Gerekli araçları yükleyin veya güncelleyin

  • Android Studio'nun en son kararlı sürümünü yükleyin veya güncelleyin.
  • Uyumluluk sorunlarını önlemek için Android Studio ile birlikte sunulan Kotlin eklentisini en son sürüme güncelleyin.
  • (İsteğe bağlı) iOS geliştirme için kullanıcı arayüzünü oluşturmak amacıyla Xcode'u yükleyin ve gerektiğinde Swift veya Objective-C kodunu ekleyin.

Kotlin Multiplatform projesi oluşturun

Yeni bir KMP projesi oluşturmak için Jetbrains'deki Kotlin Çoklu Platform sihirbazını kullanabilirsiniz. Kullanıcı arayüzünün yerel kalmasını sağlamak için Kullanıcı arayüzünü paylaşma seçeneğini belirlediğinizden emin olun.

Proje yapısı

KMP projeleri, Android projelerine benzer bir proje yapısı izler.

Bir KMP projesi, paylaşılan bir modülle birlikte platforma özel modüller içerir. Platforma özel kodunuzu ilgili modüle ekleyin. Örneğin, Android uygulamanızın kullanıcı arayüzünü androidApp modülüne ve iOS uygulamanızın kullanıcı arayüzünü iosApp'e ekleyin. Platformlar arasında paylaşmak istediğiniz kodlar paylaşılan modülüne gider.

Paylaşılan modül, projenin geri kalanı gibi derleme sistemi olarak Gradle'ı kullanır. Kaynak kümelerini kullanarak yaygın ve platforma özgü bağımlılıkları tanımlayabilirsiniz. Örneğin, uygulamanız ağ iletişimi için Ktor kullanıyorsa Android için OkHttp, iOS için de darwin bağımlılığı eklemeniz gerekir. Bazı kitaplıkların yalnızca yaygın bağımlılıklar gerektirdiğini ve platforma özgü bağımlılıklara ihtiyaç duymadığını unutmayın.

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

Uygulamanızın paylaşılan modülüne yeni bir kitaplık eklediğinizde, her platform için gerekli bağımlılıkları kontrol ettiğinizden emin olun.