محیط خود را تنظیم کنید (کوتلین چند پلتفرم)
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
Kotlin Multiplatform (KMP) به اشتراک گذاری کد Kotlin را در پلتفرم های مختلف امکان پذیر می کند. قبل از شروع ساختن برنامه ها با KMP، باید محیط خود را همانطور که در این سند توضیح داده شده است تنظیم کنید. همچنین می توانید به مستندات رسمی JetBrain مراجعه کنید.
ابزارهای مورد نیاز را نصب یا به روز کنید
- آخرین نسخه پایدار Android Studio را نصب یا بهروزرسانی کنید.
- برای جلوگیری از مشکلات سازگاری، افزونه Kotlin را که با Android Studio همراه است به آخرین نسخه به روز کنید.
- (اختیاری) برای توسعه iOS، Xcode را برای ساخت رابط کاربری نصب کنید و در صورت نیاز کد Swift یا Objective-C را اضافه کنید.
یک پروژه چند پلتفرمی Kotlin ایجاد کنید
می توانید از جادوگر چند پلتفرم Kotlin از JetBrains برای ایجاد یک پروژه KMP جدید استفاده کنید. مطمئن شوید که گزینه Do not share UI را انتخاب کنید تا UI بومی بماند.
ساختار پروژه
پروژه های KMP از ساختار پروژه ای مشابه پروژه های اندروید پیروی می کنند.
یک پروژه KMP شامل ماژول های پلتفرم خاص به همراه یک ماژول مشترک است. کد مخصوص پلتفرم خود را به ماژول مربوطه اضافه کنید. برای مثال، رابط کاربری برنامه Android خود را در ماژول androidApp و رابط کاربری برنامه iOS خود را در iosApp اضافه کنید. هر کدی که میخواهید بین پلتفرمها به اشتراک بگذارید، در ماژول مشترک قرار میگیرد.
ماژول مشترک از Gradle به عنوان سیستم ساخت مانند بقیه پروژه استفاده می کند. میتوانید وابستگیهای رایج و خاص پلتفرم را با استفاده از مجموعههای منبع اعلام کنید. به عنوان مثال، اگر برنامه شما از Ktor برای شبکه استفاده می کند، باید یک وابستگی OkHttp برای اندروید و یک وابستگی داروین برای iOS اضافه کنید. توجه داشته باشید که برخی از کتابخانه ها فقط به وابستگی های رایج نیاز دارند و نیازی به وابستگی های خاص پلت فرم ندارند.
sourceSets {
commonMain.dependencies {
//put your multiplatform dependencies here
//...
implementation(libs.ktor.client.core)
implementation(libs.ktor.client.content.negotiation)
implementation(libs.ktor.serialization.kotlinx.json)
//...
}
androidMain.dependencies {
implementation(libs.ktor.client.okhttp)
}
iosMain.dependencies {
implementation(libs.ktor.client.darwin)
}
}
هنگامی که یک کتابخانه جدید به ماژول مشترک برنامه خود اضافه می کنید، مطمئن شوید که وابستگی های مورد نیاز برای هر پلتفرم را بررسی کنید.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Setup your environment (Kotlin Multiplatform)\n\n[Kotlin Multiplatform](https://kotlinlang.org/lp/mobile/) (KMP) enables sharing Kotlin code across\ndifferent platforms. Before you start building apps with KMP, you'll need to\nset up your environment as described in this document. You can also refer to\nJetBrain's [official documentation](https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-setup.html).\n\nInstall or update required tools\n--------------------------------\n\n- Install or update to the latest stable version of [Android Studio](/studio).\n- Update the [Kotlin plugin](https://kotlinlang.org/docs/releases.html#update-to-a-new-release) that is bundled with Android Studio to the latest version to avoid compatibility issues.\n- (Optional) For iOS development, install [Xcode](https://apps.apple.com/us/app/xcode/id497799835) to build the UI and add Swift or Objective-C code as needed.\n\nCreate a Kotlin Multiplatform project\n-------------------------------------\n\nYou can use the [Kotlin Multiplatform wizard](https://kmp.jetbrains.com/) from JetBrains to\ncreate a new KMP project. Make sure to choose the **Do not\nshare UI** option to keep the UI native.\n\n### Project structure\n\nKMP projects follow a project structure similar to Android projects.\n\nA KMP project contains platform-specific modules along with a shared module.\nAdd your platform-specific code to the relevant module. For example, add your\nAndroid app UI in the **androidApp** module and your iOS app UI in **iosApp** .\nAny code you want to share between platforms goes in the **shared** module.\n\nThe shared module uses Gradle as the build system just like the rest of the\nproject. You can declare common and platform-specific dependencies using\nsourcesets. For example, if your app uses Ktor for networking, you need to add\nan OkHttp dependency for Android and a darwin dependency for iOS. Note that some\nlibraries require only common dependencies and don't need platform-specific\ndependencies. \n\n sourceSets {\n commonMain.dependencies {\n //put your multiplatform dependencies here\n //...\n implementation(libs.ktor.client.core)\n implementation(libs.ktor.client.content.negotiation)\n implementation(libs.ktor.serialization.kotlinx.json)\n //...\n }\n androidMain.dependencies {\n implementation(libs.ktor.client.okhttp)\n }\n iosMain.dependencies {\n implementation(libs.ktor.client.darwin)\n }\n }\n\nWhen you add a new library to your app's shared module, make sure to check for\nthe required dependencies for each platform."]]