שימוש ב-Jetpack פיתוח נייטיב ב-Wear OS

Compose ל-Wear OS דומה ל-Compose לנייד. עם זאת, יש כמה הבדלים חשובים. במדריך הזה מוסבר מהן נקודות הדמיון וההבדלים בין השיטות.

Compose for Wear OS הוא חלק מ-Android Jetpack, וכמו שאר ספריות Wear Jetpack שבהן אתם משתמשים, הוא עוזר לכם לכתוב קוד טוב יותר מהר יותר. זו הגישה המומלצת שלנו ליצירת ממשקי משתמש לאפליקציות ל-Wear OS.

אם אתם לא מכירים את ערכת הכלים של Jetpack Compose, כדאי לעיין במסלול ל-Compose. רבים מעקרונות הפיתוח של Compose לנייד רלוונטיים ל-Compose ל-Wear OS. למידע נוסף על היתרונות הכלליים של מסגרת של ממשק משתמש דקלרטיבי, אפשר לעיין במאמר למה כדאי להשתמש ב-Compose. למידע נוסף על Compose ל-Wear OS, אפשר לעיין במסלול Compose ל-Wear OS ובמאגר הדוגמאות של Wear OS ב-GitHub.

עיצוב חדשני תלת-ממדי ב-Jetpack פיתוח נייטיב ב-Wear OS

ב-Jetpack Compose ב-Wear OS יש הטמעה של Material 2.5, שבעזרתה תוכלו לעצב חוויות שימוש מרתקות יותר באפליקציות. רכיבי Material Design ב-Wear OS מבוססים על Wear Material Theming. יצירת עיצוב לפי נושא היא דרך שיטתית להתאים אישית את העיצוב של Material Design כך שישקף טוב יותר את המותג של המוצר.

תאימות

התכונה 'כתיבה' ל-Wear OS פועלת בשעונים שתומכים ב-Wear OS 3.0 (רמת API 30) ובשעונים שתומכים ב-Wear OS 2.0 (רמת API 25 ואילך). כדי להשתמש ב-גרסה 1.4 של Compose ל-Wear OS, צריך להשתמש בספריות androidx.compose בגרסה 1.7 וב-Kotlin בגרסה 1.9.0. אפשר להשתמש במיפוי BOM ובמפת התאימות של Compose ל-Kotlin כדי לבדוק את התאימות ל-Compose.

שכבות

בעזרת Compose for Wear OS קל יותר לפתח אפליקציות ל-Wear OS. מידע נוסף זמין במאמר אפליקציות. אתם יכולים להשתמש ברכיבים המובנים שלנו כדי ליצור חוויות משתמש שתואמות להנחיות של Wear OS. מידע נוסף על רכיבים זמין בהנחיות לעיצוב.

בתהליך הגדרה

השימוש ב-Jetpack Compose עם Wear OS דומה לשימוש ב-Jetpack Compose בכל פרויקט אחר ל-Android. ההבדל העיקרי הוא ש-Jetpack Compose for Wear מוסיף ספריות ספציפיות ל-Wear שמאפשרות ליצור בקלות ממשקי משתמש שמותאמים לשעונים. במקרים מסוימים, לרכיבים האלה יש שם זהה לזה של רכיבים מקבילים שלא מיועדים ללבישה, כמו androidx.wear.compose.material.Button ו-androidx.compose.material.Button.

יצירת אפליקציה חדשה ב-Android Studio

כדי ליצור פרויקט חדש שכולל את Jetpack Compose:

  1. אם אתם נמצאים בחלון Welcome to Android Studio, לוחצים על Start a new Android Studio project. אם כבר יש לכם פרויקט פתוח ב-Android Studio, תוכלו לבחור באפשרות קובץ > חדש > ייבוא דוגמה בסרגל התפריטים.
  2. מחפשים את Compose for Wear ובוחרים ב-Compose for Wear OS Starter.
  3. בחלון Configure your project (הגדרת הפרויקט), מבצעים את הפעולות הבאות:
    1. מגדירים את שם האפליקציה.
    2. בוחרים את מיקום הפרויקט לדוגמה.
  4. לוחצים על סיום.
  5. מוודאים שקובץ ה-build.gradle של הפרויקט מוגדר בצורה נכונה, כפי שמתואר במאמר קבצי מאפיינים של Gradle.

עכשיו אתם מוכנים להתחיל לפתח אפליקציה באמצעות Compose ל-Wear OS.

יחסי התלות של ערכת הכלים של Jetpack פיתוח נייטיב

כדי להשתמש ב-Jetpack Compose עם Wear OS, צריך לכלול את יחסי התלות של ערכת הכלים של Jetpack Compose בקובץ build.gradle של האפליקציה. רוב השינויים ביחסי התלות שקשורים ל-Wear OS נמצאים בשכבות הארכיטקטוניות העליונות, שמסומנות בקופסה אדומה בתמונה הבאה.

<img 'foundation',="" 'material',="" 'runtime'.="" 'ui',="" 2="" 4="" a="" alt="" and="" are="" bottom,="" box""="" by="" contain="" from="" rectangles="" rectangles.="" red="" src="/static/wear/images/components/ComposeDependencies.png" surrounded="" the="" to="" top="" />

כלומר, רוב יחסי התלות שכבר משתמשים בהם ב-Jetpack Compose לא משתנים כשמגדירים יעד ל-Wear OS. לדוגמה, יחסי התלות של ממשק המשתמש, סביבת זמן הריצה, המהדר והאנימציה לא משתנים.

עם זאת, ל-Wear OS יש גרסאות משלו לספריות material,‏ foundation ו-navigation, לכן חשוב לוודא שאתם משתמשים בספריות המתאימות.

מומלץ להשתמש בגרסה WearComposeMaterial של ממשקי ה-API כשהדבר אפשרי. אמנם אפשר להשתמש בגרסה לנייד של Compose Material מבחינה טכנית, אבל היא לא מותאמת לדרישות הייחודיות של Wear OS. בנוסף, שילוב של Compose Material עם Compose Material ל-Wear OS עלול לגרום להתנהגות בלתי צפויה. לדוגמה, מכיוון שלכל ספרייה יש סוג MaterialTheme משלה, יכול להיות שהצבעים, הגופנים או הצורות לא יהיו עקביים אם משתמשים בשתי הגרסאות.

בטבלה הבאה מפורטים ההבדלים ביחסי התלות בין Wear OS לבין Mobile:

תלות ב-Wear OS

(androidx.wear.*)

השוואה Mobile Dependency

(androidx.*)

androidx.wear.compose:compose-material במקום androidx.compose.material:material
androidx.wear.compose:compose-navigation במקום androidx.navigation:navigation-compose
androidx.wear.compose:compose-foundation בנוסף androidx.compose.foundation:foundation

קטע הקוד הבא מציג קובץ build.gradle לדוגמה שכולל את יחסי התלות האלה:

Kotlin

dependencies {

    val composeBom = platform("androidx.compose:compose-bom:2024.10.01")

    // General compose dependencies
    implementation(composeBom)
    implementation("androidx.activity:activity-compose:1.9.3")
    implementation("androidx.compose.ui:ui-tooling-preview:1.7.5")
    // Other compose dependencies

    // Compose for Wear OS Dependencies
    implementation("androidx.wear.compose:compose-material:1.4.0")

    // Foundation is additive, so you can use the mobile version in your Wear OS app.
    implementation("androidx.wear.compose:compose-foundation:1.4.0")

    // Wear OS preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.0")

    // If you are using Compose Navigation, use the Wear OS version (NOT THE MOBILE VERSION).
    // Uncomment the line below and update the version number.
    // implementation("androidx.wear.compose:compose-navigation:1.4.0")

    // Testing
    testImplementation("junit:junit:4.13.2")
    androidTestImplementation("androidx.test.ext:junit:1.1.3")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
    androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.0.3")
    debugImplementation("androidx.compose.ui:ui-tooling:1.0.3")
}

משוב

כדאי לנסות את Compose ל-Wear OS ולהשתמש בכלי למעקב אחר בעיות כדי לשלוח הצעות ומשוב.

אתם יכולים להצטרף לערוץ#compose-wear ב-Slack של Kotlin כדי ליצור קשר עם קהילת המפתחים ולשתף איתנו את החוויה שלכם.