Kotlin Multiplatform (KMP) — JetBrains tomonidan ishlab chiqilgan texnologiya bo’lib, u dasturchilarga biznes-mantiq kodini Android, iOS va boshqa platformalar orasida ulashish, ayni paytda har bir platformaning tabiiy (native) interfeysini saqlab qolish imkonini beradi.
JetBrains tomonidan yaratilishi
Kotlin tilining o’zini yaratgan JetBrains, dasturchilarning mobil ilova ishlab chiqishda ko’p sonli takrorlanuvchi, platformaga bog’liq bo’lmagan kodni (tarmoq so’rovlari, ma’lumotlar bazasi bilan ishlash, biznes qoidalari) ikki marta — Android va iOS uchun alohida — yozishga majbur bo’layotganini kuzatib, Kotlin Multiplatform’ni taqdim etdi.
Faqat biznes-mantiqni ulashish falsafasi
Flutter yoki React Native‘dan farqli o’laroq, Kotlin Multiplatform interfeysning o’zini emas, balki faqat interfeysga tegishli bo’lmagan mantiqni (ma’lumotlarni qayta ishlash, tarmoq so’rovlari) ulashishni taklif qiladi. Interfeys esa har bir platforma uchun alohida, native texnologiyalar (Jetpack Compose Android‘da, SwiftUI iOS‘da) orqali yoziladi.
Native interfeysni saqlab qolish tamoyili
Bu yondashuvning asosiy afzalligi — foydalanuvchi har bir platformada to’liq tabiiy, o’sha platformaga xos interfeys tajribasini oladi, chunki interfeys kodi hech qachon “kompilyatsiya qilingan” yoki “moslashtirilgan” emas, balki to’g’ridan-to’g’ri native texnologiyada yozilgan.
Flutter/React Native’dan farqi
Flutter va React Native interfeysni ham, ko’pincha, ulashishga harakat qiladi (garchi turlicha darajada), Kotlin Multiplatform esa ataylab faqat “ko’rinmas” mantiqni ulashib, interfeysni har doim alohida yozishni tanlaydi. Bu farq ko’proq nazoratni talab qiladi, ammo har bir platformada mukammal native tajriba va samaradorlikni ta’minlaydi.
Compose Multiplatform bilan to’ldirilishi
Kotlin Multiplatform’ning “faqat mantiq” falsafasi ixtiyoriy bo’lib qolmoqda — JetBrains’ning Compose Multiplatform texnologiyasi orqali endi interfeysni ham ulashish mumkin, bu esa dasturchiga har bir loyiha uchun mos strategiyani (to’liq ulashish yoki faqat mantiqni ulashish) tanlash erkinligini beradi.
Bog’liq tushunchalar
Kotlin, JetBrains, Compose Multiplatform, Flutter, Android, iOS