הנחיות סגנון לממשקי API של Jetpack Compose
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
אם אתם כותבים קוד Compose לאפליקציה או יוצרים ספריות וממשקי API של Compose, כדאי לפעול לפי השיטות המומלצות כדי שהקוד יהיה ניתן להרחבה, יפעל בצורה יעילה יותר ויהיה עקבי עם שאר המערכת האקולוגית.
במסמכים הבאים מפורטות הנחיות לכל מי שכותב קוד שמשתמש ב-Compose:
- הנחיות ל-API ל-Jetpack פיתוח נייטיב: מפורטים בהן דפוסים, שיטות מומלצות והנחיות סגנון מחייבות לכל מערכת שמשתמשת בתוסף של מהדר Jetpack פיתוח נייטיב ובזמן ריצה. הנושאים שמופיעים בו:
- הנחיות לסגנון ב-Kotlin ל-Compose, שמבוססות על מוסכמות התכנות ב-Kotlin
- הנחיות לגבי פונקציות ו-API של
@Composable
שמבוססים על היכולות של זמן הריצה של Compose
- הנחיות לשימוש בממשקי API שמרחיבים את ערכת הכלים לבניית ממשק משתמש ב-Compose
- דפוסים לטיפול בתרחישי שימוש בתכנון של Compose API
- הנחיות ל-API לרכיבי
@Composable
ב-Jetpack Compose:
מספקות קבוצה של הנחיות והמלצות ליצירה ולשימוש ברכיבי ממשק משתמש של @Composable
, כולל הנושאים הבאים:
- יצירה של רכיבים והוספה שלהם לשכבות
- איך נותנים שם לרכיב חדש
- הגדרת יחסי תלות בין רכיבים
- פרמטרים ברכיבי
@Composable
- שימוש בתבניות נכונות ליצירת פונקציות וכיתות שקשורות לרכיבים
- תיעוד של רכיבי
@Composable
- שיפור הנגישות של רכיבים
- עדכון של ממשקי API של רכיבים תוך שמירה על תאימות לאחור
קהל
ההנחיות האלה מיועדות לשלושה קהלים:
- מפתחים שיוצרים אפליקציות שמבוססות על Jetpack פיתוח נייטיב. אתם נכללים בקבוצה הזו אם אתם משתמשים ב-Jetpack Compose בחלק כלשהו של האפליקציה.
- מפתחים שעובדים על פיתוח מסגרת Jetpack Compose. אתם נכללים בקבוצה הזו אם אתם תורמים לספריות של
androidx.compose
.
- מפתחים שיוצרים ספריות שמבוססות על Jetpack Compose. אתם בקבוצה הזו אם אתם יוצרים ממשקי API של Compose או ספריות של רכיבי ממשק משתמש של Compose. ספריות הרכיבים של Compose יכולות להיות זמינות לציבור או מקומיות לחברה או לצוות שלכם.
בהתאם לקבוצה שבה אתם נמצאים, יש רמות שונות של הקפדה על כל הנחיות הסגנון. לדוגמה, פיתוח של מסגרת Jetpack Compose בדרך כלל
מבוסס על ההנחיות האלה באופן הכי קפדני.
מידע נוסף על הדרישות לכל קהל מפתחים זמין בRFC2119.
תרומה למסגרת ולהנחיות
נשמח לקבל תרומות לספריות נבחרות בבסיס הקוד androidx
ולהנחיות הסגנון (הנחיות ל-Compose API והנחיות לרכיבי @Composable
).
כדי לתרום, פועלים לפי ההוראות androidx
במדריך לתורמים.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-09-04 (שעון 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-09-04 (שעון UTC)."],[],[],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)."]]