در رویکرد قدیمی ابتدا ویوها ساخته و سپس دستی بهروز میشدند. در رویکرد اعلانی شما میگویید «با این state، رابط چه شکلی است» و فریمورک تغییرات را اعمال میکند.
Jetpack Compose (اندروید)
@Composable
fun Counter() {
var count by remember { mutableStateOf(0) }
Button(onClick = { count++ }) {
Text("Clicked $count times")
}
}SwiftUI (iOS)
struct Counter: View {
@State private var count = 0
var body: some View {
Button("Clicked \(count) times") { count += 1 }
}
}- کد کمتر و خواناتر نسبت به XML یا Storyboard.
- تغییر state خودکار رابط را بهروز میکند.
- پیشنمایش زنده در محیط توسعه.
اگر پروژهٔ جدید میسازید، هر دو انتخابهای اصلی پلتفرم خود هستند.




