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) // 🔥 একদম অপরিবর্তনশীল

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

  • @StableCompose বুঝবে যে User এর কিছু অংশ পরিবর্তন হতে পারে, কিন্তু এটি অপ্টিমাইজ করবে।
  • @ImmutableCompose নিশ্চিত হবে যে 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-এ ভেরিয়েবল ঘোষণা করার দুই উপায়