توسعه دهنده نِیتیوْ(Native) موبایل ( اندروید/آی او اس(کنارگذاشته شده)) Moeindeveloper.ir
جت پک کمپوز، انقلابی در اندروید
چند روزیه که جت پک کمپوز استیبل شده و من از وقتی که وارد کانال بتا شد از اون استفاده کردم و قصد دارم از تجربیاتم تو این مدت بگم :)
از بزرگترین و مهم ترین رویداد هایی که امسال در برنامه نویسی اندروید اتفاق افتاد، میشه به این موارد اشاره کرد:
- انتشار نسخه 1.5 کاتلین، که به گفتهی شرکت جت برینز بزرگ ترین رویداد سال ۲۰۲۱ بود!
- نسخه بتا و در نهایت انتشار جت پک کمپوز، فریمورکی برای طراحی یو ای به صورت declarative در اندروید
- اندروید استدیو نسخه Arctic fox، با قابلیت های زیادی مانند ادیتور و نمایشگر جت پک کمپوز و کلی امکانات دیگه...
خب حالا جت پک کمپوز چیه؟
ی ابزار برای ساخت و توسعه یو ای به صورت declarative هست که از زبان برنامه نویسی کاتلین استفاده میکنه و نسبت به روش و ابزار های قدیمی برای ساخت یو ای، کد کمتری نوشته میشه و باگ های کمتری در روند ساخت یو ای به وجود میاد! اگه با فلاتر یا ری اکت نیتیو کار کردید بیشتر با مفهوم declarative آشنایی دارید!
اگر با مفهوم declarative آشنایی ندارید حتما مقاله های زیر را مطالعه کنید:
از کجا جت پک کمپوز رو یاد بگیرم؟
برای شروع یادگیری اول مطمئن شوید که از آخرین نسخه اندروید استدیو یعنی arctic fox استفاده میکنید و سپس با استفاده از داکیومنت ها و کد لب هایی که در صفحه رسمی جت پک کمپوز برای شما قرار داده شده است میتوانید یادگیری را شروع کرده و حتی اپ های قدیمی خودتون رو با اون ریفکتور کنید :)
سمپل کد های کمپوز:
ریپازیتوری پروژه دانشگاه خودمو هم اینجا میذارم شاید به کارتون بیاد :)
در آخر هم توجهتون رو به این رشته توییت از آقای ادیب فرامرزی از تیم تپسی در مورد جت پک کمپوز جلب میکنم که نکات خیلی مهمی رو راجب کمپوز توضیح داده و از تجربهش با کمپوز گفته:
تجربه شخصی خودم:
برای پروژه آخر ترم دانشگاه دوست داشتم که کار جدیدی انجام بدم و از این روال تکراری استفاده از دیتابایندینگ یا ویوبایندینگ خسته شده بودم تا اینکه به فکرم رسید که از جت پک کمپوز استفاده کنم که به تازگی وارد کانال بتا شده!
نکته در مورد کانال های رلیز کتابخانه های گوگل:
- آلفا: در این فاز خیلی از APIها استیبل نیستن و ممکنه در هر نسخه به کلی عوض بشن و مجبور بشید که کل کدی که نوشتید رو بازنویسی کنید. ( تجربه ای که تو این چند وقت با نسخه کمپوز کتابخونه لاتی(Lottie) داشتم که کلا اسم متود ها و سینتکسشو عوض کرد!)
- بتا: تو این فاز اکثر APIهای مربوطه استیبل شده و باگ های بزرگ و اشکالات نسخه آلفا رو نداره. این نسخه معمولا بهترین وقتیه که قصد دارید یک فریمورک رو تست کنید!
- آرسی(RC): باگ های جزئی نسخه بتا در این نسخه رفع شده و برای رلیز نهایی استیج شده و یکبار دیگه تست میشه.
- نهایی: بعد از چنل RC نسخه نهایی منتشر میشه و فاصله بین RC و رلیز نهایی معمولا کمتر از یک هفته هست!
طی این چند ماه تجربه لذت بخشی از کمپوز داشتم و هیچ وقت دوست ندارم که دوباره با XML کار کنم:) تنها مشکلی که طی این چند ماه وجود داشت سر آپدیت های اندروید استدیو و کتابخونه ها بود که بعضی وقتا باهم همخونی نداشتن و یهو کل پروژه میرفت رو هوا :(
اگه بازم وقت داشته باشم این مقاله رو کامل تر میکنم و ی سری مقاله راجب کمپوز منتشر میکنم پس یادتون نره انتشارات و من رو فالو کنید که اگه مطلب جدیدی گذاشتم سریعتر خبردار بشید :)
مطلبی دیگر از این انتشارات
توسعه اپلیکیشن های مدرن اندرویدی قسمت هفتم(آخر)
مطلبی دیگر از این انتشارات
آموزش استفاده از Jetpack DataStore
مطلبی دیگر از این انتشارات
انواع Interceptor ها در OkHttpClient