Wear OS-এ Jetpack Compose ব্যবহার করা


Android Studio-তে ওয়াচফেসের কোড ও প্রিভিউ কম্পোজ করা
ছবি ১. Wear OS-এর জন্য Jetpack Compose

Compose for Wear OS, Compose for mobile-এর মতোই। তবে, কিছু মূল পার্থক্য রয়েছে। এই গাইড আপনাকে মিল ও অমিলগুলি বুঝতে সাহায্য করবে।

Compose for Wear OS হল Android Jetpack-এর অংশ এবং আপনার ব্যবহার করা অন্যান্য Wear Jetpack লাইব্রেরির মতো, এটি আপনাকে আরও দ্রুত আরও ভালো কোড লিখতে সাহায্য করে। Wear OS অ্যাপ-এর জন্য ইউজার ইন্টারফেস তৈরি করার ক্ষেত্রে আমরা এই পদ্ধতি সাজেস্ট করি।

আপনি Jetpack Compose টুলকিট ব্যবহার করার ব্যাপারে অপরিচিত হলে, Compose পাথওয়ে চেক করুন। মোবাইল Compose-এর জন্য ডেভেলপমেন্টের অনেক নীতি Compose for Wear OS-এর ক্ষেত্রে প্রযোজ্য। ডিক্লারেটিভ UI ফ্রেমওয়ার্কের সাধারণ সুবিধা সম্পর্কে আরও জানতে কেন Compose দেখুন। Wear OS-এর জন্য Compose সম্পর্কে আরও জানতে, Wear OS পাথওয়ের জন্য Compose এবং GitHub-এ Wear OS স্যাম্পেল রিপোজিটরি দেখুন।

Wear OS-এ Jetpack Compose-এ মেটেরিয়াল ডিজাইন

Wear OS-এ Jetpack Compose-এর মাধ্যমে Material 3, যা আপনাকে আরও আকর্ষণীয় অ্যাপ ডিজাইন করতে সাহায্য করে অভিজ্ঞতা প্রয়োগ করতে পারবেন। Wear OS-এ মেটেরিয়াল ডিজাইন কম্পোনেন্ট Wear মেটেরিয়াল থিমিং-এর উপরে তৈরি করা হয়েছে। এই থিমিং হল মেটেরিয়াল ডিজাইন কাস্টমাইজ করার এবং আপনার প্রোডাক্টের ব্র্যান্ডকে আরও ভালোভাবে তুলে ধরার একটি পদ্ধতিগত উপায়।

মানানসই

Compose for Wear OS সেইসব স্মার্টওয়াচে কাজ করে যেগুলি Wear OS 3.0 (API লেভেল 30) এবং Wear OS 2.0 (API লেভেল 25 এবং তার পরবর্তী যেকোনও ভার্সন) ব্যবহার করে। Wear OS-এর জন্য Compose-এর ভার্সন 1.5 ব্যবহার করতে হলে, androidx.compose লাইব্রেরির ভার্সন 1.8 এবং Kotlin 1.9.0 ব্যবহার করতে হবে। Compose-এর কম্প্যাটিবিলিটি চেক করতে আপনি BOM ম্যাপিং এবং Compose থেকে Kotlin কম্প্যাটিবিলিটি ম্যাপ ব্যবহার করতে পারেন।

সারফেস

Compose for Wear OS-এর মাধ্যমে Wear OS-এ অ্যাপ তৈরি করা আরও সহজ হয়ে যায়। আরও তথ্যের জন্য অ্যাপ দেখুন। Wear OS নির্দেশিকা মেনে চলে এমন ব্যবহারকারীর অভিজ্ঞতা তৈরি করতে আমাদের বিল্ট-ইন কম্পোনেন্ট ব্যবহার করুন। কম্পোনেন্ট সম্পর্কে আরও তথ্যের জন্য, আমাদের ডিজাইন সংক্রান্ত নির্দেশিকা দেখুন।

সেট আপ করা হচ্ছে

Wear OS-এর সাথে Jetpack Compose ব্যবহার করা, অন্য যেকোনও Android প্রোজেক্টের জন্য Jetpack Compose ব্যবহার করার মতোই। প্রধান পার্থক্য হল, Jetpack Compose for Wear Wear-নির্দিষ্ট লাইব্রেরি যোগ করে যা ঘড়ির জন্য বিশেষভাবে তৈরি ইউজার ইন্টারফেস তৈরি করা সহজ করে তোলে। কিছু ক্ষেত্রে, সেইসব কম্পোনেন্ট তাদের নন-ওয়্যার কাউন্টারপার্টের মতো একই নাম শেয়ার করে, যেমন androidx.wear.compose.material3.Button এবং androidx.compose.material3.Button।

Android Studio-তে নতুন অ্যাপ তৈরি করা

Jetpack Compose সহ নতুন প্রোজেক্ট তৈরি করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:

  1. আপনি Android Studio-তে স্বাগতম উইন্ডোতে থাকলে, নতুন Android Studio প্রোজেক্ট শুরু করুন বিকল্পে ক্লিক করুন। আপনার যদি আগে থেকেই কোনও Android Studio প্রোজেক্ট খোলা থাকে, তাহলে মেনু বার থেকে ফাইল > নতুন > স্যাম্পেল ইমপোর্ট করুন বিকল্প বেছে নিন।
  2. Compose for Wear সার্চ করে Compose for Wear OS Starter বেছে নিন।
  3. আপনার প্রোজেক্ট কনফিগার করুন উইন্ডোতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
    1. অ্যাপ্লিকেশনের নাম সেট করুন।
    2. আপনার স্যাম্পেলের জন্য প্রোজেক্টের লোকেশন বেছে নিন।
  4. সম্পূর্ণ করুন বিকল্পে ক্লিক করুন।
  5. প্রোজেক্টের build.gradle ফাইলটি সঠিকভাবে কনফিগার করা হয়েছে কিনা তা যাচাই করুন, যেমন Gradle প্রপার্টি ফাইল-এ বর্ণনা করা হয়েছে।

এখন আপনি Compose for Wear OS ব্যবহার করে অ্যাপ ডেভেলপ করা শুরু করতে পারবেন।

Jetpack Compose টুলকিট ডিপেন্ডেন্সি

Wear OS-এর সাথে Jetpack Compose ব্যবহার করতে, আপনার অ্যাপের build.gradle ফাইলে Jetpack Compose টুলকিট ডিপেন্ডেন্সি অন্তর্ভুক্ত করতে হবে। Wear OS-এর সাথে সম্পর্কিত বেশিরভাগ ডিপেন্ডেন্সি পরিবর্তন শীর্ষ আর্কিটেকচারাল লেয়ারে রয়েছে, যা নিচের ছবিতে একটি লাল বক্স দ্বারা বেষ্টিত।

৪টি আয়তক্ষেত্র। উপর থেকে নিচে, আয়তক্ষেত্রগুলিতে 'মেটেরিয়াল', 'ফাউন্ডেশন', 'UI' এবং 'রানটাইম' রয়েছে। সবচেয়ে উপরে থাকা ২টি আয়তক্ষেত্র একটি লাল বক্স দিয়ে ঘেরা আছে
ছবি ২. Compose আর্কিটেকচারে Wear OS-এর জন্য ডিপেন্ডেন্সি সংক্রান্ত পরিবর্তন

এর অর্থ হল, Jetpack Compose-এর সাথে আপনি আগে থেকেই ব্যবহার করেন এমন অনেক ডিপেন্ডেন্সি Wear OS-কে টার্গেট করার সময় পরিবর্তন হয় না। যেমন, UI, রানটাইম, কম্পাইলার ও অ্যানিমেশন ডিপেন্ডেন্সি একই থাকে।

তবে, Wear OS-এর নিজস্ব material এবং material3, foundation ও navigation লাইব্রেরি আছে, তাই আপনি সঠিক লাইব্রেরি ব্যবহার করছেন কিনা তা চেক করে নিন।

সম্ভব হলে API-এর WearComposeMaterial ভার্সন ব্যবহার করুন। Compose Material-এর মোবাইল ভার্সন ব্যবহার করা প্রযুক্তিগতভাবে সম্ভব হলেও, Wear OS-এর অনন্য প্রয়োজনীয়তার জন্য এটি অপ্টিমাইজ করা হয়নি। এছাড়াও, Compose Material-এর সাথে Compose Material for Wear OS মিশিয়ে ফেললে অপ্রত্যাশিত আচরণ দেখা যেতে পারে। যেমন, প্রতিটি লাইব্রেরির নিজস্ব MaterialTheme ক্লাস থাকার কারণে, দুটি ভার্সনই ব্যবহার করা হলে, রঙ, টাইপোগ্রাফি বা আকার অসামঞ্জস্যপূর্ণ হওয়ার সম্ভাবনা থাকে।

Wear OS ও মোবাইলের মধ্যে ডিপেন্ডেন্সি সংক্রান্ত পার্থক্য নিচের সারণীতে উল্লেখ করা হয়েছে:

Wear OS ডিপেন্ডেন্সি
(androidx.wear.*)
তুলনা মোবাইল ডিপেন্ডেন্সি
(androidx.*)
androidx.wear.compose:compose-material3 এর পরিবর্তে androidx.compose.material:material3
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:2026.09.00")

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

    // Compose for Wear OS dependencies
    implementation("androidx.wear.compose:compose-material3:1.7.1")

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

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

    // 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.7.1")

    // 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.4.1")

}

মতামত

Wear OS-এর জন্য Compose ব্যবহার করে দেখুন এবং সাজেশন ও মতামত জানাতে ইস্যু ট্র্যাকার ব্যবহার করুন।

ডেভেলপার কমিউনিটির সাথে কানেক্ট করতে এবং আপনার অভিজ্ঞতা আমাদের জানাতে Kotlin Slack-এ #compose-wear চ্যানেলে যোগ দিন।