קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
Kotlin Multiplatform (KMP) מאפשר לשתף קוד Kotlin בפלטפורמות שונות. Kotlin Multiplatform פותחה על ידי JetBrains ו-Google תומכת בה באופן רשמי לשיתוף לוגיקה עסקית בין Android ו-iOS. השימוש ב-KMP לטירגוט פלטפורמות לנייד הוא יציב ומוכן להפקה.
ספריות Jetpack מרובות פלטפורמות
ספריות רבות של Jetpack כבר הועברו כדי לנצל את היתרונות של KMP. ספריות Jetpack הבאות מספקות תמיכה ב-KMP:
במאמרי העזרה של הספריות האלה (לדוגמה, DataStoreFactory) מצוין אם ה-APIs זמינים לקוד משותף, ל-Android ול-Native.
אפשר גם לסנן את ההצהרות לפי פלטפורמה בחלק העליון של כל דף. הטבלה הבאה מציגה את המשמעות של כל סמן.
פלטפורמות נתמכות
הדרישות לאיכות ולתאימות של מהדורות של ספריות Jetpack לפלטפורמות נתמכות רשמית, Android ו-iOS, נשארות זהות. עם זאת, אנחנו פועלים להרחבת התמיכה של Jetpack ב-Kotlin Multiplatform לפלטפורמות נוספות, ולכן יכול להיות שהתמיכה בכלי הפיתוח ובמבנה תהיה בתהליך.
רמת התמיכה הנוכחית בכל פלטפורמה מסוכמת ברמות הבאות:
רמה 1:
נבדק באופן מלא ב-CI, כולל בדיקות בצד המארח ובמכשיר
אתם יכולים לפתוח, לערוך ולהריץ פרויקטים חוצי-פלטפורמות ב-Android Studio. עם זאת,
חלק מהתכונות של סביבת הפיתוח המשולבת עדיין לא זמינות בפרויקטים האלה.
יצירת מודול KMP חדש באמצעות Android Studio
כדי להתחיל את המעבר ל-KMP, צריך ליצור מודול משותף של KMP ב-Android Studio. המודול הזה מחיל באופן אוטומטי את כל הפלאגינים הדרושים, כולל הפלאגין Android-KMP, כדי להתחיל לפתח אפליקציות ל-Android ול-iOS.
פלאגין Kotlin Multiplatform Android Studio
מומלץ להתקין את הפלאגין Kotlin Multiplatform Android Studio שפותח על ידי JetBrains. התוסף הזה מציע כמה תכונות שיכולות לשפר את חוויית הפיתוח:
אשף הפרויקט החדש: יצירת פרויקט חדש חוצה פלטפורמות בתוך סביבת הפיתוח המשולבת.
בדיקות לפני הפעלה: בדיקות לפני הפעלה עוזרות לכם להגדיר את הסביבה.
הגדרות הפעלה: הפעלה, ניפוי באגים ובדיקה של אפליקציות ב-iOS וב-Android ישירות מתוך סביבת הפיתוח המשולבת (IDE).
תמיכה בסיסית ב-Swift בסביבת הפיתוח המשולבת (IDE): תמיכה בסיסית ב-Swift בסביבת הפיתוח המשולבת (IDE), כולל כלי ניפוי באגים, ניווט ותיעוד מהיר בשפות שונות.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-08-13 (שעון UTC).
[[["התוכן קל להבנה","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 (שעון UTC)."],[],[],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)"]]