Ortamınızı kurma (Kotlin Multiplatform)

Kotlin Multiplatform (KMP), Kotlin kodunun tüm platformlarda paylaşılmasını sağlar. farklı platformlarda yer alabilir. KMP ile uygulama derlemeye başlamadan önce şunları yapmanız gerekir: ortamınızı bu dokümanda açıklandığı şekilde ayarlayın. Ayrıca Jetbrain'in resmi belgeleri

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

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

Kotlin Çoklu Platform projesi oluşturma

Jetbrains'den Kotlin Çoklu platform sihirbazını kullanarak yeni bir KMP projesi oluşturacaksınız. Share UI seçeneği, kullanıcı arayüzünü yerel olarak tutmak için gereklidir.

Proje yapısı

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

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

Paylaşılan modül, önceki modüllerde olduğu gibi derleme sistemi olarak belirler. Yaygın ve platforma özgü bağımlılıkları kaynak kümeleri. Örneğin, uygulamanız ağ iletişimi için Ktor'u kullanıyorsa Android için OkHttp, iOS için darwin bağımlılığı. Bazı kitaplıklar yalnızca yaygın bağımlılıklar gerektirir ve platforma özgü değildir ve bildirmeyi konuştuk.

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, bağımlılıklarını ortaya koyabilir.