Kotlin Multiplatform Mobile(KMM)

Tunahan Özataç
Berkut Teknoloji
Published in
4 min readMar 30, 2022

Herkese merhabalar arkadaşlar, bu yazımda Kotlin Multiplatform Mobile’e yani Kotlin’in yeni teknolojisi çoklu platform destegini inceliyor olacağız. Bu süreçte kendi öğrenme sürecimde edindiğim bilgileri sizinle paylaşmaya çalışacağım. Hadi başlayalım o zaman. 🥳

KMM

Kotlin Multiplatform Mobile(KMM) Nedir?

Kotlin Multiplatform Mobile (KMM), platformlar arası mobil uygulamaların geliştirilmesini basitleştirmek için tasarlanmış bir SDK’dır. Android uygulamaları ile iOS uygulamaları temelde iş mantığı olarak benzerlik göstermektedir. Örneğin, bir veritabanından okuma ve yazma, internet üzerinden servis işlemleri gibi bir çok konuda benzerlik göstermektedir. Kotlin Multiplatform Mobile (KMM) de bu iş mantığını birleştirerek tek bir kodla Android ve iOS gibi birden fazla platformda uygulamamızın çalışmasına olanak tanır.

Kotlin dili ile yazdığımız kodu Kotlin/JVM ile JVM bayt koduna ve Kotlin/Native ile yerel ikili dosyalara derlenir, böylece KMM iş mantığı modüllerinizi diğer normal mobil kitaplıklar gibi kullanabilirsiniz.

Kotlin Multiplatform Mobile(KMM) için Plugin’i indirmek?

Kotlin Multiplatform Mobile sayesinde Xcode’a ihtiyaç duymadan geliştirme yapabiliyoruz. Fakat iOS cihazlarda test etmek istersek bunun için Xcode yüklü bir macOS cihaza ihtiyacımız bulunmaktadır. Hadi başlayalım.

Android Studio üzerinden KMM projesi oluşturup kodlarımızı yazmamız için ilk olarak KMM Plugin’i kurmamız gerekmektedir.

Android Studio -> Preferences -> Plugins’i seçerek Kotlin Multiplatform Mobile’i indirip ve IDE’yi yeniden başlatıyoruz.

Kotlin Multiplatform Mobile projesini oluşturma?

Android Studio’yu yeniden başlattıktan sonra New Project’i seçiyoruz. Daha sonra en altta Kotlin Multiplatform App geldiğini göreceğiz ve onu seçerek devam ediyoruz.

Bu kısım normal proje oluşturduğumuz şekilde aynı. (Uygulama ismi, Uygulama Package name, Uygulama oluşacak konumu vs.)

Normal projede farklılaşan kısım burası bu aşamada istersek iOS veya Android uygulamamızın isimlerini değiştire biliyoruz. İstersek örnek testler oluşturmak için de Add sample tests for Shared Module’ü seçebiliyoruz. İstersek de iOS framework distribution seçeneğinden de dağıtım seçeneklerini göre biliyoruz. Daha sonra Finish diyerek projemizi oluşturuyoruz. Bu işlemi ilk defa yaptıgımız için gerekli bileşenleri indirip kurmak biraz zaman alabiliyor.

Kotlin Multiplatform Mobile projesini çalıştırma?

Android de çalıştırma

Run/Debug Configuration seçeneğinden androidApp seçiyoruz ve ardından çalıştırdığımız taktirde android için çalıştırmış oluyoruz. İstersek de kendi cihazımızı bağlayıp çalıştırabiliriz.

iOS’ta çalıştırma

Run/Debug Configuration seçeneğinden iosApp seçiyoruz ve ardından çalıştırdığımız taktirde iOS için çalıştırmış oluyoruz. Burada android cihazın üstü gizleniyor. Varsayılan iOS cihaz ile çalıştırılıyor.

  1. Başka bir iOS cihazda çalıştırmak istiyorsak Edit Configuration ayarlarından ekleyebiliriz.

2. Yapılandırma listesinin üzerindeki + düğmesini tıklayıp ve iOS Uygulaması öğesini seçiyoruz.

3. Execution target içerisinden iOS cihazlarını seçebiliyoruz. Dilersen Xcode üstünden gerçek cihazlarımızı da bağlayabiliyoruz.

Proje Yapısı

Android görünümünü Proje görünümünü ile değiştiriyoruz.

Project Structure ımızda artık 2 tane Gradle modülü görüyoruz. İlki androidApp ve iOS için de iosApp modülü.

Modül

  • Shared module : Android ve iOS uygulamaları için ortak kodlarımızın bulunduğu Kotlin modülüdür.

commonMain : Her iki platformda da çalışan kodu içerir.

androidMain : Android’e özgü kodları içerir.

iosMain : iOS’a özgü kodları içerir.

  • androidApp module : Uygulamada oluşturulan bir Kotlin modülü. Gradle’ı bir yapı sistemi olarak kullanır.
  • iosApp module : iOS uygulamasında oluşturulan bir Xcode projesi.

Bu yazımda Kotlin Multiplatform Mobile (KMM) temel seviyede değinmeye çalıştım. İlerleyen zamanlarda seriyi devam ettirmeye çalışacağım. Umarım faydalı olmuştur. Bir sonraki yazıda görüşmek üzere. 😊

--

--