بخش‌های اصلی Android Jetpack

داستان Jetpack چیست و چرا به وجود آمد؟

قبل از Jetpack توسعه اندروید چند مشکل بزرگ داشت:

  • API های اندروید پراکنده و قدیمی بودند
  • مدیریت lifecycle بسیار سخت بود
  • برنامه‌ها معماری استاندارد نداشتند
  • ناسازگاری بین نسخه‌های مختلف اندروید زیاد بود
  • هر تیم توسعه‌دهنده معماری خودش را می‌ساخت

برای حل این مشکلات، گوگل در Google I/O 2018 مجموعه‌ای از کتابخانه‌ها را با نام Android Jetpack معرفی کرد.

هدف Jetpack:

  • استاندارد کردن معماری اپلیکیشن‌ها
  • ساده کردن توسعه اندروید
  • حل مشکلات lifecycle
  • پشتیبانی بهتر از نسخه‌های مختلف اندروید
  • افزایش سرعت توسعه

در واقع Jetpack  یک جعبه ابزار رسمی گوگل برای ساخت اپلیکیشن‌های اندروید مدرن، تمیز و قابل نگهداری است که در ادامه به بخش های مختلف ان می پردازیم.

 

بخش‌های اصلی Android Jetpack

Jetpack به طور کلی در چند دسته اصلی تقسیم می‌شود:

  • Architecture
  • UI
  • Behavior
  • Foundation

در ادامه مهم‌ترین کامپوننت‌های هر بخش را می‌بینید:

1. Architecture (معماری)

ابزارهایی برای ساختاردهی بهتر اپلیکیشن و مدیریت داده‌ها.

  • ViewModel

    داده‌های UI را نگهداری می‌کند و در تغییرات lifecycle مثل چرخش صفحه از بین نمی‌رود.

  • LiveData

    یک داده observable که به lifecycle وابسته است و UI را خودکار آپدیت می‌کند.

  • Room

    لایه‌ی abstraction روی SQLite که کار با دیتابیس را ساده‌تر می‌کند.

  • WorkManager

    برای اجرای کارهای پس‌زمینه قابل اعتماد حتی اگر اپ بسته شود.

  • DataStore

    جایگزین مدرن SharedPreferences برای ذخیره داده‌های ساده.

  • Paging

    برای بارگذاری تدریجی لیست‌های بزرگ از سرور یا دیتابیس.

  • Navigation

    مدیریت ناوبری بین Fragmentها و صفحه‌ها به صورت استاندارد.

 

2. UI

ابزارهایی برای ساخت رابط کاربری.

  • Jetpack Compose

    فریمورک مدرن و declarative برای ساخت UI بدون XML.

  • Fragment

    مدیریت بخش‌های قابل استفاده مجدد از UI داخل Activity.

  • ConstraintLayout

    سیستم layout پیشرفته برای طراحی UI انعطاف‌پذیر.

  • RecyclerView

    نمایش لیست‌های بزرگ با performance بالا.

  • ViewBinding / DataBinding

    اتصال مستقیم Viewها به کد بدون findViewById.

  • Material Components

    پیاده‌سازی کامپوننت‌های طراحی Material Design.

  • Emoji 

            پشتیبانی از آخرین ایموجی‌ها روی نسخه‌های قدیمی اندروید.

  • Animation & Transition 

           ابزارهای ساخت انیمیشن‌های UI.

  • Auto Tv Wear

        ابزارهایی برای ساخت نسخه‌ی سازگار اپلیکیشن با محیط خودرو، تلویزیون و ساعت‌ های هوشمند.

 

 

3. Behavior

ابزارهایی برای تعامل بهتر اپ با سیستم اندروید.

  • Permissions

    مدیریت ساده‌تر مجوزهای اندروید.

  • Notifications

    ساخت و مدیریت نوتیفیکیشن‌ها.

  • Media

    ابزارهای کار با صوت و ویدیو.

  • Sharing

    اشتراک‌گذاری داده بین اپ‌ها.

  • DownloadManager

        مدیریت دانلود فایل‌ها به‌صورت سیستم‌محور.

 

4. Foundation

پایه‌های فنی برای سازگاری با نسخه‌های مختلف اندروید.

  • AppCompat

    فراهم کردن قابلیت‌های جدید اندروید برای نسخه‌های قدیمی‌تر.

  • Android KTX

    اکستنشن‌های Kotlin برای کوتاه‌تر و خواناتر شدن کد.

  • Multidex

    مدیریت محدودیت ۶۵K متد در اپلیکیشن‌ها.

  • Test

    ابزارهای تست واحد و UI برای اندروید.

 

 

در مقالات مجموعه مقالات بعدی سراغ تک به تک موارد میریم و به جزئیات بیشتری میپردازیم.