إرشادات النمط لواجهات برمجة التطبيقات Jetpack Compose
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
إذا كنت تكتب رمز Compose لتطبيقك أو تنشئ مكتبات وواجهات برمجة تطبيقات خاصة بـ Compose، اتّبِع أفضل الممارسات لجعل الرمز قابلاً للتوسيع وأكثر فعالية ومتوافقًا مع بقية النظام الأساسي.
تقدّم المستندات التالية إرشادات لأي شخص يكتب رمزًا برمجيًا يستخدم Compose:
- إرشادات واجهة برمجة التطبيقات في Jetpack Compose: توضّح هذه الإرشادات الأنماط وأفضل الممارسات وإرشادات الأسلوب الإلزامي لأي نظام يستخدم مكوّن Jetpack Compose الإضافي الخاص بالمترجم ووقت التشغيل. ويشمل المواضيع التالية:
- إرشادات حول أسلوب Kotlin في Compose، استنادًا إلى اتفاقيات الترميز في Kotlin
- إرشادات حول دوال
@Composable
وواجهات برمجة التطبيقات التي تستند إلى إمكانات وقت التشغيل في Compose
- إرشادات لواجهات برمجة التطبيقات التي تستخدم مجموعة أدوات واجهة المستخدم Compose وتوسّعها
- أنماط لمعالجة حالات الاستخدام عند تصميم واجهة برمجة تطبيقات Compose
- إرشادات واجهة برمجة التطبيقات لمكوّنات
@Composable
في Jetpack Compose:
تقدّم هذه الصفحة مجموعة من الإرشادات والاقتراحات لإنشاء مكوّنات واجهة المستخدم @Composable
واستخدامها، بما في ذلك المواضيع التالية:
- إنشاء المكوّنات ووضعها في طبقات
- تسمية مكوّن جديد
- التعبير عن تبعيات المكوّنات
- المَعلمات في مكوّنات
@Composable
- اتّباع الأنماط الصحيحة لإنشاء الفئات والدوال ذات الصلة بالمكوّنات
- توثيق
@Composable
مكوّن
- تحسين إمكانية استخدام المكوّنات
- تعديل واجهات برمجة التطبيقات الخاصة بالمكوّنات مع الحفاظ على التوافق مع الإصدارات السابقة
الجمهور
تمت كتابة هذه الإرشادات لتناسب ثلاث فئات من الجمهور:
- المطوّرون الذين ينشئون تطبيقات استنادًا إلى Jetpack Compose أنت في هذه المجموعة
إذا كنت تستخدم Jetpack Compose في جزء من تطبيقك.
- المطوّرون الذين يعملون على تطوير إطار عمل Jetpack Compose أنت في هذه المجموعة إذا ساهمت في مكتبات
androidx.compose
.
- المطوّرون الذين ينشئون مكتبات استنادًا إلى Jetpack Compose أنت في هذه المجموعة إذا كنت تنشئ واجهات برمجة تطبيقات أو مكتبات خاصة بعناصر واجهة مستخدم Compose. قد تكون مكتبات
مكوّنات Compose هذه متاحة للجميع أو خاصة بشركتك أو فريقك.
استنادًا إلى المجموعة التي تنتمي إليها، تتوفّر لك مستويات مختلفة من الدقة لكل إرشادات خاصة بالأسلوب. على سبيل المثال، يلتزم تطوير إطار عمل Jetpack Compose بهذه الإرشادات بشكل عام بأكثر الطرق صرامة.
لمزيد من المعلومات حول متطلبات كل جمهور من جمهور المطوّرين، يُرجى الاطّلاع على RFC2119.
المساهمة في إطار العمل والإرشادات
نرحّب بالمساهمات في مكتبات محدّدة في قاعدة الرموز androidx
وإرشادات التصميم (إرشادات Compose API وإرشادات مكوّنات @Composable
).
للمساهمة، اتّبِع التعليمات الواردة في androidx
دليل
المساهمة.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-09-04 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-09-04 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["If you're writing Compose code for your app or building Compose libraries and\nAPIs, follow best practices to make your code scalable, more performant, and\nconsistent with the rest of the ecosystem.\n\nThe following documents provide guidelines for anyone writing code that uses\nCompose:\n\n- [API Guidelines for Jetpack Compose](https://android.googlesource.com/platform/frameworks/support/+/androidx-main/compose/docs/compose-api-guidelines.md): Outlines patterns, best practices, and prescriptive style guidelines for any system using the Jetpack Compose compiler plugin and runtime. It includes the following topics:\n - Kotlin style guidelines for Compose, based on the [Kotlin Coding\n Conventions](https://kotlinlang.org/docs/coding-conventions.html)\n - Guidance for `@Composable` functions and APIs that build on the Compose runtime capabilities\n - Guidelines for APIs that use and extend the Compose UI toolkit\n - Patterns for addressing use cases when designing a Compose API\n- [API Guidelines for `@Composable` components in Jetpack Compose](https://android.googlesource.com/platform/frameworks/support/+/androidx-main/compose/docs/compose-component-api-guidelines.md): Provides a set of guidelines and recommendations for creating and using `@Composable` UI components, including the following topics:\n - Creating and layering components\n - Naming a new component\n - Expressing component dependencies\n - Parameters in `@Composable` components\n - Following correct patterns for creating component-related classes and functions\n - Documenting `@Composable` components\n - Improving accessibility for components\n - Updating component APIs while retaining backwards compatibility\n\nAudience\n\nThese guidelines are written for the following three audiences:\n\n- **Developers building apps based on Jetpack Compose**. You are in this group if you use Jetpack Compose in some part of your app.\n- **Developers working on Jetpack Compose framework development** . You are in this group if you make contributions to the [`androidx.compose` libraries](/jetpack/androidx/releases/compose).\n- **Developers creating libraries based on Jetpack Compose**. You are in this group if you create Compose APIs or libraries of Compose UI elements. These libraries of Compose components may be publicly available or local to your company or team.\n\nDepending on the group you're in, you have different strictness levels for each\nstyle guideline. For example, Jetpack Compose framework development generally\nadheres most strictly to these guidelines.\n\nFor more information about the requirements for each developer audience, see\n[RFC2119](https://www.ietf.org/rfc/rfc2119.txt).\n\nContribute to framework and guidelines\n\nWe welcome contributions to select libraries in the `androidx` codebase and the\nstyle guidelines ([Compose API guidelines](https://android.googlesource.com/platform/frameworks/support/+/androidx-main/compose/docs/compose-api-guidelines.md) and\n[`@Composable` components guidelines](https://android.googlesource.com/platform/frameworks/support/+/androidx-main/compose/docs/compose-component-api-guidelines.md)) themselves.\n\nTo contribute, follow the instructions in the `androidx` [contribution\nguide](https://android.googlesource.com/platform/frameworks/support/+/androidx-main/CONTRIBUTING.md)."]]