Jetpack Compose یک ابزار مدرن و اعلامی (Declarative) برای ساخت رابط کاربری در اپلیکیشنهای اندرویدی است. این ابزار توسط گوگل توسعه داده شده و هدف آن سادهسازی فرآیند طراحی UI و کاهش کدهای اضافی XML در توسعهی اپلیکیشنهاست.
در مدل سنتی توسعهی اندروید، UI از طریق فایلهای XML و منطق UI با کدهای Java/Kotlin در Activity یا Fragment مدیریت میشد. این جداسازی گاهی منجر به پیچیدگی، کدهای تکراری و سختی در نگهداری پروژه میشد. Jetpack Compose این مشکلات را با ترکیب منطق و طراحی در یک فایل Kotlin برطرف میکند.
Jetpack Compose از معماری Declarative پیروی میکند. در این معماری، به جای اینکه تغییرات UI را با دستورهای خاصی انجام دهیم، حالت (State) اپلیکیشن را توصیف میکنیم و UI بهصورت خودکار بر اساس آن تغییر میکند. این مدل مشابه رویکردی است که در فریمورکهایی مانند Flutter و React نیز استفاده میشود.
kotlinCopyEdit@Composable fun Greeting(name: String) { Text(text = "سلام، $name!") }
در این مثال، یک تابع Composable تعریف شده که متنی را با اسم ورودی چاپ میکند. برخلاف XML، همه چیز در قالب کد Kotlin نوشته شده.
remember
یا mutableStateOf
).Column
, Row
, Box
برای سازماندهی اجزای UIButton
, Text
, Card
و ...با اینکه Jetpack Compose قدرتمند است، هنوز برخی چالشها دارد:
برای استفاده از Compose باید:
build.gradle
اضافه کنیدgradleCopyEditdependencies { implementation "androidx.compose.ui:ui:1.6.0" implementation "androidx.compose.material:material:1.6.0" implementation "androidx.activity:activity-compose:1.7.2" }
Jetpack Compose نسل جدید طراحی UI در اندروید است که توسعهدهندگان را از پیچیدگیهای XML و View Binding رها میکند. اگر قصد دارید اپلیکیشنهای مدرن و واکنشگرا بسازید، یادگیری Compose یک ضرورت است. آیندهی توسعهی اندروید به سمت این ابزار در حال حرکت است.