Berkenalan dengan Kotlin Multiplatform Mobile
Pada saat ini untuk membuat aplikasi mobile tentu memiliki banyak cara dan juga teknologi yang digunakan. Bisa dengan menggunakan cara native yaitu menggunakan teknologi dari setiap platform seperti menggunakan bahasa pemrograman kotlin/java dalam mengembangkan aplikasi android dan menggunakan bahasa pemrograman objectiveC / Swift dalam mengembangkan aplikasi iOS. Jika tidak ingin memiliki banyak resource untuk masing-masing platform dapat juga dengan memanfaatkan beberapa framework cross platform seperti menggunakan React Native atau pun Flutter yang sudah cukup populer saat ini. Namun dalam kesempatan kali ini penulis akan membahas cara baru untuk mengembangkan aplikasi mobile yaitu dengan menggunakan Kotlin Multplatfrom Mobile atau biasa disebut KMM.
Apa itu KMM?
Kotlin Multiplatform Mobile (KMM) adalah teknologi yang memungkinkan developer menulis kode bersama antara platform Android dan iOS menggunakan bahasa pemrograman Kotlin. KMM menyederhanakan proses pengembangan untuk membuat aplikasi seluler lintas platform dengan memungkinkan pengembang menulis kode bersama yang dapat digunakan di seluruh platform Android dan iOS. KMM menyediakan alat dan API yang memungkinkan pengembang untuk mengintegrasikan kode dan alat khusus platform, yang dapat menghasilkan proses pengembangan yang lebih efisien dan pengalaman pengguna yang lebih baik bagi pengguna di kedua platform.
Bagaimana Cara Kerjanya?
KMM bekerja dengan memungkinkan developer menulis kode bersama menggunakan Kotlin Multiplatform, yang merupakan bagian dari bahasa pemrograman Kotlin. Kode bersama berisi logika bisnis, algoritma, dan model data yang dapat digunakan di seluruh platform Android dan iOS sehingga untuk layer data dapat digunakan bersama sedangkan untuk layer view tetap kembali kepada platform masing-masing Android dapat menggunakan jetpack compose / XML, sedangkan iOS dapat menggunakan SwiftUI / Uikit. Pengembang juga dapat menulis kode khusus platform yang khusus untuk Android atau iOS. Kode ini ditulis menggunakan bahasa pemrograman asli platform (Java/Kotlin untuk Android, Swift/Objective-C untuk iOS).
KMM menyediakan fitur dan API yang memungkinkan kode Kotlin bersama diintegrasikan dengan kode khusus platform. Integrasi ini memungkinkan pengembang untuk menciptakan pengalaman pengguna yang lancar di seluruh platform Android dan iOS. Setelah kode dikompilasi, pengembang dapat menyebarkan aplikasi Android dan iOS ke toko aplikasi masing-masing. Ilustrasi cara kerjanya seperti berikut:
Kode Kotlin yang dibuat di dalam module sharing disertakan di kedua aplikasi, sedangkan kode khusus platform hanya disertakan di aplikasi platform masing-masing.
Seberapa jauh kode bisa dibagi bersama?
untuk kode yang dibagi sejauh mana menurut penulis itu tergantung dari case dan kebutuhan masing-masing namun dalam beberapa sample yang sudah disediakan oleh tim jetbrains, kode yang dapat digunakan bersama ada yang hingga data layer saja atau pun sampai ke presentation layer yaitu pada bagian pengaturan state yang akan digunakan oleh view di module platform masing — masing.
Kesimpulannya menurut penulis KMM adalah teknologi yang cukup menjanjikan untuk kedepannya. Dengan KMM, tanpa harus pengembang menuliskan logika pengolahan data yang sama berulang namun dapat memanfaatkan fitur dan fungsionalitas unik dari setiap platform, dan tetap menghasilkan pengalaman pengguna yang baik bagi pengguna di kedua platform.
Happy coding !