Compose Runtime - সম্পূর্ণ ব্যবহার সহজ ভাষায়!

 

🧠 Compose Runtime - সম্পূর্ণ ব্যবহার সহজ ভাষায়! 🚀

Jetpack Compose Runtime হল Compose-এর ইঞ্জিন, যা UI-কে স্মার্টভাবে আপডেট করে। ঠিক যেমন গুগল ম্যাপে লাইভ লোকেশন আপডেট হয়, ঠিক তেমনই UI আপডেট হয় শুধুমাত্র যেখানে দরকার!


✅ ১. প্রথমে Gradle-এ যুক্ত করুন

আপনার build.gradle (Module: app) ফাইলে নিচের ডিপেনডেন্সি যোগ করুন:

dependencies {
    implementation("androidx.compose.runtime:runtime:1.5.4")
}

👉 এটি কী করবে?

  • এটি Compose Runtime লাইব্রেরি ডাউনলোড করবে, যা State Management, Recomposition, এবং UI Optimization পরিচালনা করে।

✅ ২. State পরিবর্তন হলে শুধুমাত্র প্রয়োজনীয় UI আপডেট করুন

Compose Runtime ব্যবহার করলে কোনো UI পরিবর্তন হলে, শুধুমাত্র প্রয়োজনীয় অংশ আপডেট হয়!

🎯 Button Counter (State Tracking)

import androidx.compose.runtime.*
import androidx.compose.material3.*

@Composable
fun CounterApp() {
    var count by remember { mutableStateOf(0) } // 🔥 স্মার্ট স্টেট

    Button(onClick = { count++ }) {
        Text(text = "Clicked $count times")
    }
}

📌 কি হচ্ছে এখানে?
✅ mutableStateOf(0) → এটি Compose Runtime-কে state ট্র্যাক করতে সাহায্য করে।
✅ যখন count পরিবর্তন হয়, শুধু Text আপডেট হয়, পুরো UI নয়!


✅ ৩. Recomposition অপ্টিমাইজ করা (অপ্রয়োজনীয় UI refresh এড়ানো)

Compose Runtime-এর মজা হল পুরো স্ক্রিন রি-ড্র না করে, শুধু পরিবর্তিত অংশ আপডেট করা!

🎯 শুধু প্রয়োজনীয় অংশ আপডেট করুন

@Composable
fun Greeting(name: String) {
    Text(text = "Hello, $name!") // 👈 শুধু টেক্সট আপডেট হবে, পুরো স্ক্রিন নয়!
}

👉 যখন name পরিবর্তন হবে, শুধু Text আপডেট হবে, পুরো UI নয়!


✅ ৪. @Stable ও @Immutable ব্যবহার করে পারফরম্যান্স বাড়ানো

Compose Runtime বুঝতে পারে কোন জিনিস কখন পরিবর্তন হবে এবং কখন হবে না!

🎯 Immutable & Stable ক্লাস ব্যবহার করুন

import androidx.compose.runtime.Immutable
import androidx.compose.runtime.Stable

@Stable
class User(val name: String) // ⚡ পরিবর্তনশীল কিন্তু অপ্টিমাইজড

@Immutable
data class Product(val id: Int, val name: String) // 🔥 একদম অপরিবর্তনশীল

📌 এগুলো কী করে?

  • @Stable → Compose বুঝবে যে User এর কিছু অংশ পরিবর্তন হতে পারে, কিন্তু এটি অপ্টিমাইজ করবে।
  • @Immutable → Compose নিশ্চিত হবে যে Product কখনো পরিবর্তন হবে না, ফলে দ্রুত প্রসেস হবে।

✅ ৫. Snapshot System (Compose Runtime ম্যাজিক)

Compose Runtime Snapshot System ব্যবহার করে UI-কে স্মার্টভাবে আপডেট করে।

🎯 Live Updating Text Example

@Composable
fun LiveText() {
    var text by remember { mutableStateOf("Hello!") } // 🔥 Live Data

    Column {
        Text(text) // 👈 শুধুমাত্র এই টেক্সট পরিবর্তন হবে
        Button(onClick = { text = "Updated!" }) {
            Text("Update Text")
        }
    }
}

👉 Compose বুঝবে শুধু Text আপডেট করতে হবে, সম্পূর্ণ UI নয়!


🎯 🔥 Compose Runtime = স্মার্ট UI + পারফরম্যান্স অপ্টিমাইজেশন!

✅ State ম্যানেজ করা সহজ (mutableStateOf)
✅ শুধু প্রয়োজনীয় অংশ Recompose হয় (Optimization)
✅ Immutable এবং Stable Object দিয়ে স্মার্ট পারফরম্যান্স
✅ Snapshot System ব্যবহার করে লাইভ UI আপডেট


🎬 সংক্ষেপে:

1️⃣ Gradle-এ androidx.compose.runtime:runtime যোগ করুন।
2️⃣ mutableStateOf, remember, @Stable, @Immutable ব্যবহার করুন।
3️⃣ Compose Runtime অপ্রয়োজনীয় UI redraw এড়াবে, ফলে অ্যাপ ফাস্ট হবে! 🚀

💡 প্রশ্ন থাকলে জানাবেন! 😊

Comments

Popular posts from this blog

AI (Artificial Intelligence) সহজভাবে বোঝার জন্য একদম মস্তিষ্ক-বান্ধব ব্যাখ্যা 🧠🤖

🧠 Regex কী?

Kotlin-এ ভেরিয়েবল ঘোষণা করার দুই উপায়