Ortamınızı kurma (Kotlin Multiplatform)

Kotlin Çok Platformlu (KMP), Kotlin kodunu farklı platformlarda paylaşmayı sağlar. KMP ile uygulama oluşturmaya başlamadan önce, ortamınızı bu belgede açıklandığı şekilde ayarlamanız gerekir. JetBrain'ın resmi belgelerine de bakabilirsiniz.

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

  • Android Studio'nun en son kararlı sürümünü yükleyin veya mevcut sürümünüzü 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 ve gerektiğinde Swift veya Objective-C kodu eklemek üzere Xcode'u yükleyin.

Kotlin çok platformlu projesi oluşturma

Yeni bir KMP projesi oluşturmak için JetBrains'in Kotlin Çoklu Platform sihirbazını kullanabilirsiniz. Kullanıcı arayüzünün yerel kalması 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ına sahiptir.

KMP projeleri, paylaşılan bir modülün yanı sıra platforma özel modüller içerir. Platforma özgü kodunuzu ilgili modüle ekleyin. Örneğin, Android uygulama kullanıcı arayüzünüzü androidApp modülüne, iOS uygulama kullanıcı arayüzünüzü ise iosApp modülüne ekleyin. Platformlar arasında paylaşmak istediğiniz tüm kodlar ortak modülüne yerleştirilir.

Paylaşılan modül, projenin geri kalanı gibi derleme sistemi olarak Gradle'ı kullanır. Kaynak kümelerini kullanarak ortak ve platforma özgü bağımlılıkları belirtebilirsiniz. Örneğin, uygulamanız ağ oluşturma için Ktor kullanıyorsa Android için OkHttp bağımlılığı ve iOS için darwin bağımlılığı eklemeniz gerekir. Bazı kitaplıkların yalnızca ortak 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.