استخدام Jetpack Compose على نظام التشغيل Wear OS

تشبه ميزة Compose لنظام التشغيل Wear OS ميزة Compose للأجهزة الجوّالة. ومع ذلك، هناك بعض الاختلافات الرئيسية. يرشدك هذا الدليل إلى أوجه التشابه والاختلاف بين الأسلوبَين.

إنّ أداة Compose لنظام التشغيل 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.

استخدام لغة التصميم Material Design في Jetpack Compose على نظام التشغيل Wear OS

يوفّر Jetpack Compose على نظام التشغيل Wear OS تنفيذًا لسمات Material 2.5، ما يساعدك في تصميم تجارب تطبيقات أكثر جاذبية. إنّ مكونات التصميم المتعدّد الأبعاد على Wear OS مبنية على مظهر Wear Material. إنّ هذه السمات هي طريقة منهجية لتخصيص أسلوب Material Design وعكس علامتك التجارية بشكل أفضل في تطبيقك.

التوافق

تعمل ميزة "الإنشاء" لنظام التشغيل Wear OS على الساعات المتوافقة مع Wear OS 3.0 (المستوى 30 من واجهة برمجة التطبيقات) والساعات التي تستخدم Wear OS 2.0 (المستوى 25 من واجهة برمجة التطبيقات والإصدارات الأحدث). يتطلب استخدام الإصدار 1.4 من Compose لنظام التشغيل Wear OS استخدام الإصدار 1.7 من مكتبات androidx.compose وKotlin 1.9.0. يمكنك استخدام تعيين مخطّط إدارة المواد وخريطة التوافق بين Compose وKotlin للتحقّق من توافق Compose.

واجهات

تسهِّل ميزة "الإنشاء" لنظام التشغيل Wear OS إنشاء التطبيقات على هذا النظام. لمزيد من المعلومات، يُرجى الاطّلاع على التطبيقات. استخدِم المكوّنات المضمّنة لإنشاء تجارب مستخدمين تتوافق مع إرشادات Wear OS. لمزيد من المعلومات عن المكوّنات، يُرجى الاطّلاع على إرشادات التصميم.

الإعداد

يشبه استخدام Jetpack Compose مع نظام التشغيل Wear OS استخدام Jetpack Compose في أي مشروع آخر على Android. يكمن الاختلاف الرئيسي في أنّ Jetpack Compose لنظام التشغيل WearOS يضيف مكتبات خاصة بنظام التشغيل WearOS تسهّل إنشاء واجهات مستخدم مخصّصة للساعات. في بعض الحالات، تتشارك هذه المكوّنات الاسم نفسه مع مكوّنات الملابس العادية، مثل androidx.wear.compose.material.Button و androidx.compose.material.Button.

إنشاء تطبيق جديد في "استوديو Android"

لإنشاء مشروع جديد يتضمّن Jetpack Compose، اتّبِع الخطوات التالية:

  1. إذا كنت في نافذة مرحبًا بك في "استوديو Android"، انقر على بدء مشروع جديد في "استوديو Android". إذا كان لديك مشروع 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 Compose

لاستخدام Jetpack Compose مع نظام التشغيل Wear OS، عليك تضمين ملحقَي مجموعة أدوات 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 إصدار واجهات برمجة التطبيقات كلما أمكن. على الرغم من أنّه من الممكن من الناحية الفنية استخدام الإصدار المتوافق مع الأجهزة الجوّالة من Compose Material، إلا أنّه لم يتم تحسينه لتلبية متطلبات Wear OS الفريدة. بالإضافة إلى ذلك، قد يؤدي خلط Compose Material مع Compose Material لنظام التشغيل Wear OS إلى حدوث سلوك غير متوقّع. على سبيل المثال، بما أنّ كل مكتبة لها فئة MaterialTheme خاصة بها، من المحتمل أن تكون الألوان أو الطباعة أو الأشكال غير متّسقة في حال استخدام كلا الإصدارَين.

يوضّح الجدول التالي الاختلافات في التبعيات بين Wear OS و الإصدار المتوافق مع الأجهزة الجوّالة:

الاعتماد على Wear OS

(androidx.wear.*)

المقارنة الاعتماد على الأجهزة الجوّالة

(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")
}

ملاحظات

يمكنك تجربة تطبيق "الكتابة الصوتية" لنظام التشغيل Wear OS واستخدام أداة تتبُّع المشاكل لتقديم اقتراحات وملاحظات.

يمكنك الانضمام إلى قناة#compose-wear على Kotlin Slack للتواصل مع منتدى المطوّرين وإخبارنا بتجاربك.