Jetpack Compose چیست ؟
به طور خلاصه میتوان گفت ابزار مدرنی است که برای ساخت رابط کاربری (Material UI) در اندروید معرفی شده است. Jetpack Compose سهولت و مختصر بودن زبان برنامه نویسی کاتلین را با مدل برنامه نویسی reactive ترکیب میکند. و به صورت کاملا اعلانی است. به این معنی که رابط کاربری شما با فراخواندن دنباله ای از توابع که داده را به سلسه مراتبی از رابط کاربری تبدیل میکند، تعریف میشود. زمانی که دادههای اصلی تغییر میکند، فریم ورک به صورت اتوماتیک با فراخوانی دوباره تابعها سلسله مراتبی از viewها را برای شما بروزرسانی میکند. Android Jetpack Compose مانند سایر کتابخانههای JetPack در مراحل اولیه خود است. Jetpack Compose با کد کمتر، ابزاریهای قدرتمند و Apiهای بصری کاتلین باعث سادهتر شدن و تسریع در پیاده سازی رابط کاربری در اندروید میشود.
چرا به جت پک کامپوز نیاز داریم؟
به طور کلی، ما از Relative Layout ،Linear Layout، یا Frame Layout برای ساخت Layout fileها استفاده میکنیم. اما پس از اینکه Constraint Layout فوق العاده وارده صحنه شد، همه ی برنامه نویسان اندروید را مجذوب خود کرد. این خوب است، اما Constraint Layout, Relative Layout, Linear Layout, Frame Layoutها فقط درLayout ما قابل استفاده هستند. اگر روابط Linear Layout وجود نداشت یا ما مجبور بودیم Constraint Layout را درون فایل هایمان کد نویسی کنیم چه میشد؟ ما میتوانیم کمی رو به جلو برویم و بگوییم اگر یک راه جدید برای ساخت رابط کاربری بدون Layout Fileها داریم چطور است؟ آیا این ممکن است؟ بله هست، و این چیزی است که ما به آن Jetpack Compose میگوییم. مهم نیست که ما چند Layout پیشرفته مانند Relative Layout یا Constraint Layout داشته باشیم ما همیشه یک رابط کاربری ( declarative UI) در اندروید نیاز داریم. اگر چه ما چندین کتابخانه Third-party داریم، خیلی خوب است که یک Native library داشته باشیم. هم اکنون آن را در اختیار داریم، و اسم آن جت پک کامپوز میباشد. توجه: پیش نیاز استفاده از Jetpack Compose تجربه کار با کاتلین میباشد. توجه: این ویژگی در نسخه پیش نمایش ( Preview ) است و حتما برای پشتیبانی از Jetpack Compose باید از نسخه Android Studio Canary استفاده نمایید.