كتابة قاعدة رموز برمجية واحدة تعمل على أنظمة أساسية متعددة باستخدام Kotlin Multiplatform

تتيح Google رسميًا استخدام Kotlin Multiplatform (KMP) لمشاركة منطق النشاط التجاري بين Android وiOS. أصبحت منصة Kotlin Multiplatform ثابتة وجاهزة للاستخدام في بيئات الإنتاج. باستخدام Compose Multiplatform (CMP) من JetBrains، يمكن للمطوّرين أيضًا مشاركة واجهة المستخدم على جميع المنصات.

مسار
ابدأ رحلتك في تطوير التطبيقات المتوافقة مع عدة منصات اليوم. سيرشدك مسار التعلّم هذا إلى أساسيات Kotlin Multiplatform، بدءًا من إعداد مشروعك ومشاركة الرمز البرمجي واستخدام واجهات برمجة التطبيقات الخاصة بالنظام الأساسي، وصولاً إلى نقل قاعدة بيانات Room إلى Kotlin Multiplatform.
المكوّن الإضافي لـ "استوديو Android"
ننصحك بتثبيت المكوّن الإضافي Kotlin Multiplatform Android Studio Plugin الذي طوّرته شركة JetBrains لتحسين تجربة التطوير في Android Studio.
  • معالج المشاريع الجديدة: يمكنك إنشاء مشروع جديد متعدد المنصات داخل بيئة التطوير المتكاملة.
  • عمليات التحقّق قبل النشر: تساعدك عمليات التحقّق قبل النشر في ضبط إعدادات بيئتك.
  • إعدادات التشغيل: يمكنك تشغيل التطبيقات وتصحيح أخطائها واختبارها على كل من iOS وAndroid مباشرةً من بيئة التطوير المتكاملة.
  • إتاحة ميزات Swift الأساسية في بيئة التطوير المتكاملة: يمكنك الاستفادة من ميزات Swift الأساسية في بيئة التطوير المتكاملة، بما في ذلك أدوات تصحيح الأخطاء متعددة اللغات والتنقّل والمستندات السريعة.

مزايا Kotlin Multiplatform

باستخدام Kotlin Multiplatform، يمكنك اختيار ما تريد مشاركته على جميع المنصات، بدءًا من منطق النشاط التجاري الأساسي فقط وصولاً إلى التطبيق بأكمله. في ما يلي بعض مزاياه الرئيسية:
ليس عليك تكرار منطق النشاط التجاري المعقّد على كل منصة.
باستخدام Kotlin Multiplatform، لن تحتاج إلى إعادة كتابة تطبيقك بالكامل لبدء مشاركة الرمز بين الأنظمة الأساسية.
تتم ترجمة Kotlin Multiplatform إلى الطريقة الأصلية التي يشغّل بها النظام الأساسي المستهدف الرمز البرمجي، ما يوفّر أداءً مماثلاً لعمليات التنفيذ الأصلية.

‫Kotlin Multiplatform ومكتبات Jetpack

تمت نقل العديد من مكتبات Jetpack لتكون جاهزة لاستخدامها مع KMP. توفّر مكتبات Jetpack التالية إمكانية استخدام KMP:

شعار Android مُنشأ بواسطة Android شعار JetBrains مُنشأ بواسطة JetBrains غير متوافق

المكتبة أحدث إصدار Android iOS JVM الويب
annotation ‫22 أكتوبر 2025
مجموعة ‫27 أغسطس 2025
compose ‫22 أكتوبر 2025
datastore

المستندات
‫22 أكتوبر 2025
lifecycle

Documentation
‫22 أكتوبر 2025
viewModel

المستندات
‫22 أكتوبر 2025
viewModel-compose

المستندات
‫22 أكتوبر 2025
paging ‫10 سبتمبر 2025
room

Documentation
‫22 أكتوبر 2025
savedstate ‫22 أكتوبر 2025
sqlite

Documentation
‫24 سبتمبر 2025

إذا كانت لديك ملاحظات حول هذه المكتبات، يمكنك مشاركتها من خلال أداة تتبُّع المشاكل.

دعم الأدوات

يمكنك فتح مشاريع متعددة المنصات وتعديلها وتشغيلها في "استوديو Android".
يمكنك بدء عملية نقل البيانات إلى KMP من خلال إنشاء وحدة مشترَكة في KMP ضمن "استوديو Android". تطبِّق هذه الوحدة تلقائيًا جميع المكوّنات الإضافية اللازمة، بما في ذلك المكوّن الإضافي Android-KMP، لبدء تطوير تطبيقات Android وiOS.
تعمل ميزة "التعديل في الوقت الفعلي" عند إنشاء التطبيقات على أجهزة Android وتعديل أي رمز برمجي داخل المشروع، وليس فقط في androidMain.
تتوفّر أيضًا معاينات Jetpack Compose لـ Compose Multiplatform من JetBrains من commonMain مجموعة المصادر.

التطبيقات التي تم إنشاؤها باستخدام Kotlin Multiplatform

تستخدم العديد من التطبيقات حاليًا Kotlin Multiplatform بنجاح.
Blinkit
Cash App
Duolingo
Forbes
Google Docs
JioHotstar
الأحجار
سويغي
Ultrahuman
Wrike
Zomato

المنصّات المتوافقة

تحافظ إصدارات مكتبة Jetpack للمنصات المتوافقة رسميًا، أي Android وiOS، على متطلبات الجودة والتوافق نفسها. ومع ذلك، في إطار سعينا لتوسيع نطاق توفّر Jetpack Kotlin Multiplatform ليشمل منصات أخرى، قد يكون الدعم المتعلّق بالأدوات والبنية الأساسية قيد التطوير.
يتم اختبار الرمز بالكامل في عملية الدمج المتواصل، بما في ذلك الاختبارات على الجهاز وعلى المضيف. نتتبّع توافق المصدر والرمز الثنائي وفقًا لسياساتنا المتعلّقة بتعيين الإصدارات الدلالية.
  • Android
  • JVM
  • iOS
يتم اختبار الرمز جزئيًا على نظام التكامل المستمر، ويقتصر على الاختبارات من جهة المضيف. لا نتتبّع توافق المصدر أو التوافق الثنائي.
  • ‫macOS
  • Linux
لم يتم اختبار الرمز على CI. لا يتم تتبُّع توافق المصدر أو الملف الثنائي.
  • watchOS
  • tvOS
  • نظام التشغيل Windows
  • JavaScript
  • WASM

مصادر إضافية

لمزيد من المعلومات حول النظام المتكامل الشامل المتوافق مع منصات متعددة والإعدادات الأكثر تقدّمًا، يمكنك الاطّلاع على مستندات Kotlin Multiplatform الرسمية.
مجموعة من نماذج Kotlin Multiplatform التي توضّح كيفية استخدام مكتبات Jetpack على Android وiOS
إرشادات حول كيفية إضافة KMP إلى مشروعك
عملية نقل موجّهة من Room المتوافق مع Android فقط إلى KMP
تتوفّر إرشادات أكثر تفصيلاً في مركز مستندات Kotlin Multiplatform على Kotlinlang.org.
تعرَّف على Kotlin Multiplatform وطريقة عملها وفوائد استخدامها.