Bosh sahifa Wiki Kotlin Multiplatform

Kotlin Multiplatform

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