تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تتيح منصة Kotlin المتعدّدة (KMP) مشاركة رموز Kotlin البرمجية على
مختلف الأنظمة الأساسية. تم تطوير Kotlin Multiplatform بواسطة JetBrains، وتتيح Google
استخدامها رسميًا لمشاركة منطق النشاط التجاري
بين Android وiOS. استخدام KMP لاستهداف الأنظمة الأساسية للأجهزة الجوّالة ثابت وجاهز للاستخدام في بيئة الإنتاج.
مكتبات Jetpack المتوافقة مع الأنظمة الأساسية المتعددة
تم نقل العديد من مكتبات Jetpack للاستفادة من
KMP. توفّر مكتبات Jetpack التالية إمكانية استخدام KMP:
تحدّد المستندات المرجعية لهذه المكتبات (على سبيل المثال،
DataStoreFactory) واجهات برمجة التطبيقات استنادًا إلى مدى توفّرها للرموز البرمجية الشائعة وAndroid وNative.
يمكنك أيضًا فلترة بيانات الإفصاح حسب المنصة في أعلى كل صفحة. يوضّح الجدول التالي معنى كل علامة.
المنصّات المعتمدة
تتضمّن إصدارات مكتبة Jetpack للمنصّتَين المتوافقتَين رسميًا، Android وiOS، متطلبات الجودة والتوافق نفسها. ومع ذلك، بينما نعمل على توسيع نطاق توافق Jetpack مع Kotlin Multiplatform ليشمل منصات أخرى، قد يكون الدعم الخاص بالأدوات والبنية الأساسية قيد التطوير.
يمكن تلخيص مستوى الدعم الحالي لكل منصة في فئات:
المستوى 1:
تم اختبارها بالكامل في عملية الدمج المتواصل، بما في ذلك الاختبارات التي يتم إجراؤها على الجهاز وعلى المضيف
تم اختبارها جزئيًا على نظام التكامل المستمر، وهي تقتصر على الاختبارات من جهة المضيف
لا يتم تتبُّع التوافق مع المصدر أو التوافق الثنائي
المستوى 3:
لم يتم اختبارها على نظام الدمج المتواصل
لا يتم تتبُّع التوافق مع المصدر أو التوافق الثنائي
النظام الأساسي
مستوى الدعم
Android
صف 1
JVM
صف 1
iOS
صف 1
نظام التشغيل Mac
صف 2
Linux
صف 2
watchOS
موظّفو الدعم من المستوى 3
tvOS
موظّفو الدعم من المستوى 3
نظام التشغيل Windows
موظّفو الدعم من المستوى 3
JavaScript
موظّفو الدعم من المستوى 3
WASM
موظّفو الدعم من المستوى 3
وقد لا تعمل بعض الميزات مع مشاريع KMP.
دعم الأدوات
يمكنك فتح مشاريع متعددة المنصات وتعديلها وتشغيلها في "استوديو Android". ومع ذلك،
لا تتوفّر بعض ميزات بيئة التطوير المتكاملة (IDE) لهذه المشاريع بعد.
إنشاء وحدة KMP جديدة باستخدام "استوديو Android"
يمكنك بدء عملية نقل البيانات إلى KMP من خلال إنشاء وحدة مشترَكة في KMP
ضمن "استوديو Android". تطبِّق هذه الوحدة تلقائيًا جميع المكوّنات الإضافية اللازمة، بما في ذلك المكوّن الإضافي Android-KMP، لبدء تطوير تطبيقات Android وiOS.
المكوّن الإضافي Kotlin Multiplatform Android Studio
ننصحك بتثبيت مكوّن Kotlin Multiplatform الإضافي في "استوديو Android" الذي طوّرته JetBrains. تقدّم هذه الإضافة عدة ميزات لتسهيل تجربة التطوير:
معالج المشاريع الجديدة: يمكنك إنشاء مشروع جديد متعدد المنصات داخل بيئة التطوير المتكاملة.
عمليات التحقّق قبل النشر: تساعدك عمليات التحقّق قبل النشر في ضبط إعدادات بيئتك.
عمليات ضبط التشغيل: يمكنك تشغيل التطبيقات وتصحيح أخطائها واختبارها على كل من iOS وAndroid مباشرةً من بيئة التطوير المتكاملة.
التوافق الأساسي مع Swift في بيئة التطوير المتكاملة: يمكنك الاستفادة من التوافق الأساسي مع Swift في بيئة التطوير المتكاملة،
بما في ذلك أدوات تصحيح الأخطاء متعددة اللغات والتنقّل والتوثيق السريع.
مراجع إضافية
لمزيد من المعلومات حول النظام المتكامل الشامل المتوافق مع منصات متعددة وعمليات الضبط الأكثر تقدّمًا، يُرجى الاطّلاع على مستندات Kotlin Multiplatform الرسمية.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-08-13 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-08-13 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Kotlin Multiplatform Overview\n\n[Kotlin Multiplatform](https://kotlinlang.org/lp/mobile/) (KMP) enables sharing Kotlin code across\ndifferent platforms. Kotlin Multiplatform is developed by JetBrains and is\n[officially supported](https://android-developers.googleblog.com/2024/05/android-support-for-kotlin-multiplatform-to-share-business-logic-across-mobile-web-server-desktop.html) by Google for sharing business logic\nbetween Android and iOS. Using KMP to target mobile platforms is [stable and\nproduction-ready](https://blog.jetbrains.com/kotlin/2023/11/kotlin-multiplatform-stable/).\n\n\u003cbr /\u003e\n\nMultiplatform Jetpack libraries\n-------------------------------\n\nMany of our Jetpack libraries have already been migrated to take advantage of\nKMP. The following Jetpack libraries provide KMP support:\n\n| Maven Group ID | Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release | Documentation |\n|----------------------------------------------------------|-----------------|-----------------------------------------------------------------|------------------------------------------------------------|--------------|-----------------------------------------------------------------------------------|--------------------------------------------------|\n| [annotation (\\*)](/jetpack/androidx/releases/annotation) | July 16, 2025 | [1.9.1](/jetpack/androidx/releases/annotation#annotation-1.9.1) | - | - | - |\n| [collection](/jetpack/androidx/releases/collection) | March 12, 2025 | [1.5.0](/jetpack/androidx/releases/collection#1.5.0) | - | - | - |\n| [datastore](/jetpack/androidx/releases/datastore) | May 20, 2025 | [1.1.7](/jetpack/androidx/releases/datastore#1.1.7) | - | - | [1.2.0-alpha02](/jetpack/androidx/releases/datastore#1.2.0-alpha02) | [Documentation](/kotlin/multiplatform/datastore) |\n| [lifecycle (\\*)](/jetpack/androidx/releases/lifecycle) | August 13, 2025 | [2.9.2](/jetpack/androidx/releases/lifecycle#lifecycle-*-2.9.2) | - | - | [2.10.0-alpha02](/jetpack/androidx/releases/lifecycle#lifecycle-*-2.10.0-alpha02) |\n| [paging (\\*)](/jetpack/androidx/releases/paging) | July 30, 2025 | [3.3.6](/jetpack/androidx/releases/paging#paging-*-3.3.6) | - | - | [3.4.0-alpha02](/jetpack/androidx/releases/paging#paging-*-3.4.0-alpha02) |\n| [room](/jetpack/androidx/releases/room) | August 13, 2025 | [2.7.2](/jetpack/androidx/releases/room#2.7.2) | [2.8.0-rc01](/jetpack/androidx/releases/room#2.8.0-rc01) | - | - | [Documentation](/kotlin/multiplatform/room) |\n| [savedstate](/jetpack/androidx/releases/savedstate) | August 13, 2025 | [1.3.1](/jetpack/androidx/releases/savedstate#1.3.1) | - | - | [1.4.0-alpha02](/jetpack/androidx/releases/savedstate#1.4.0-alpha02) |\n| [sqlite](/jetpack/androidx/releases/sqlite) | August 13, 2025 | [2.5.2](/jetpack/androidx/releases/sqlite#2.5.2) | [2.6.0-rc01](/jetpack/androidx/releases/sqlite#2.6.0-rc01) | - | - | [Documentation](/kotlin/multiplatform/sqlite) |\n\n### Reference documentation\n\nThe reference documentation for these libraries (for example,\n[`DataStoreFactory`](/reference/kotlin/androidx/datastore/core/DataStoreFactory)) marks the APIs based on their availability for common\ncode, Android, and Native.\n\nYou can also filter for declarations by platform at the top of each page. The\nfollowing table shows the meaning of each marker.\n\n\u003cbr /\u003e\n\nSupported platforms\n-------------------\n\nJetpack library releases for officially supported platforms, Android and iOS,\nmaintain the same quality and compatibility requirements. However, as we work to\nexpand Jetpack's Kotlin Multiplatform support to other platforms, the tooling\nand infrastructure support may be a work in progress.\n\nThe current level of support for each platform can be summarized in tiers:\n\n**Tier 1**:\n\n- Fully tested in CI; including both host-side and on-device tests\n- Source and binary compatibility tracking in accordance with our [semantic\n versioning policies](/jetpack/androidx/versions)\n\n**Tier 2**:\n\n- Partially tested on CI; limited to host-side tests\n- No source or binary compatibility tracking\n\n**Tier 3**:\n\n- Untested on CI\n- No source or binary compatibility tracking\n\n| Platform | Level of support |\n|------------|------------------|\n| Android | Tier 1 |\n| JVM | Tier 1 |\n| iOS | Tier 1 |\n| macOS | Tier 2 |\n| Linux | Tier 2 |\n| watchOS | Tier 3 |\n| tvOS | Tier 3 |\n| Windows | Tier 3 |\n| JavaScript | Tier 3 |\n| WASM | Tier 3 |\n\n| **Note:** The support level per-platform listed here is for Jetpack **library** releases. Tooling and IDE support in Android Studio is still a work in progress, and not all features may work for KMP projects.\n\nTooling support\n---------------\n\nYou can open, edit, and run multiplatform projects in Android Studio. However,\nsome IDE features aren't yet available for these projects.\n\n### Create a new KMP module with Android Studio\n\nYou can start migrating to KMP by [creating a KMP shared module](/kotlin/multiplatform/migrate)\nwithin Android Studio. This module automatically applies all the necessary\nplugins, including the [Android-KMP plugin](/kotlin/multiplatform/plugin), to start developing\nAndroid and iOS apps.\n\n### Kotlin Multiplatform Android Studio Plugin\n\nWe recommend installing the [Kotlin Multiplatform](https://plugins.jetbrains.com/plugin/14936-kotlin-multiplatform) Android\nStudio Plugin developed by JetBrains. This plugin offers several features to\nease the development experience:\n\n- **New project wizard**: Create a new multiplatform project within the IDE.\n- **Preflight checks**: Preflight checks help you configure your environment.\n- **Run configurations**: Run, debug, and test applications on both iOS and Android directly from the IDE.\n- **Basic Swift support in the IDE**: Get basic Swift support in the IDE, including cross-language debugging tools, navigation, and quick documentation.\n\nAdditional Resources\n--------------------\n\nFor further information about the overall multiplatform ecosystem and more\nadvanced configurations, see the official\n[Kotlin Multiplatform documentation](https://kotlinlang.org/docs/multiplatform-intro.html).\n\n- The [kotlin-multiplatform-samples](https://github.com/android/kotlin-multiplatform-samples) - showcases some of the\n functionality of Jetpack libraries in a KMP project.\n\n- [Get Started with KMP Codelab](/codelabs/kmp-get-started) - guided onboarding how to add KMP to your\n project.\n\n- [Migrate Room to Room KMP Codelab](/codelabs/kmp-migrate-room) - guided migration of Android-only\n Room to KMP.\n\nFeedback\n--------\n\nIf you have feedback on these libraries, share it through the [issue\ntracker](https://issuetracker.google.com/issues/new?component=1337890&template=1803002).\n\nRecommended for you\n-------------------\n\n- Note: link text is displayed when JavaScript is off\n- [Migrate existing apps to Room KMP Codelab](/codelabs/kmp-migrate-room)\n- [Get Started with KMP Codelab](/codelabs/kmp-get-started)\n- [Use the Android-KMP Gradle plugin](/kotlin/multiplatform/plugin)"]]