هرآنچه باید درباره فرمت AAB، جایگزین فرمت APK اندروید بدانید
کمتر از یک هفته پیش گوگل رسما اعلام کرد که پس از سالها میخواهد فرمت «بسته برنامه اندروید» یا همان APK را با فرمت جدیدی به نام AAB یا «باندل برنامه اندروید» جایگزین کند. اما فایلهای AAB چیست و چه مزایا و معایبی نسبت به APK دارند؟
سال ۲۰۱۸ بود که گوگل باندل برنامه اندروید را معرفی کرد که یک فرمت انتشار اپ جدید است. فایلهای AAB در مقایسه با فرمت محبوب APK مزایایی دارند که برای مثال میتوان به کاهش سایز برنامه و قابلیتهای شخصیسازی بیشتر اشاره کرد.
این فرمت همچنین امکان افزودن چندین ماژول از قابلیتها با مزایای «Play Feature Delivery» را به اپها فراهم میکند. علاوه بر این، توسعهدهندگان بازی با استفاده از فرمت AAB میتوانند برای ارائه حجم بالایی از قابلیتها مانند بافتها در بازیها و همچنین بهبود عملکرد آنها، از «Play Asset Delivery» استفاده کنند.
فرمت AAB در اندروید استودیو ۳.۲ و نسخههای جدیدتر، Unity 2018.3 و ۲۰۱۷.۴.۱۷ و نسخه ۲.۰.۹ Cocos Cretor و نسخههای بالاتر پشتیبانی میشود.
جایگزینی فرمت AAB با APK
تنها چند روز از اعلام این خبر میگذرد و گوگل اخیرا تصمیم گرفته که AAB را به بسته برنامه پیش فرض اپهای اندرویدی در گوگل پلی استور تبدیل کند. به باور این غول جستجوی اینترنتی، با استفاده از این فرمت میتوان بهرهوری را افزایش داد، سرعت بالاتری را تجربه کرد و ارائه دادهها را هم بهبود داد.
با توجه به این موضوع، تمام برنامههای جدید باید از آگوست یعنی ماه آینده میلادی دارای فرمت AAB باشند. در حال حاضر اجباری برای تغییر در برنامهها با فرمت APK وجود ندارد.
باید منتظر چه تغییراتی از ماه آینده میلادی باشیم؟
از ماه آینده میلادی تغییرات زیادی در اپهای اندرویدی پلی استور اعمال میشوند:
- فایلهای AAB جایگزین فرمت APK میشوند.
- قابلیتهای Play Asset Delivery یا PAD و Play Feature Delivery یا PFD جایگزین فایلهای Expansion یا OBBs میشوند.
- برنامههای AAB باید یک تجربه فوری در اختیار کاربران قرار دهند.
این تغییرات برای برنامهها یا فایلهایی که در آینده نزدیک ارائه میشوند، درنظر گرفته شدهاند و اپهای کنونی بدون تغییر به کارشان ادامه میدهند، بلکه گوگل تغییری در برنامههایش ایجاد کند. از آگوست ۲۰۲۱، فایلها با حجم بیش از ۱۵۰ مگابایت میتوانند با فرمت AAB از مزایای PAD و PFD بهرهمند شوند.
مزایای فرمت AAB اندروید
حرکت به سمت فرمت جدید، مزایایی به شرح زیر به همراه دارد:
حجم کمتر برنامهها
این فرمت میتواند برنامهها را برای پیکربندیهای مختلف بهینهسازی کند که نتیجهاش، کاهش ۱۰ تا ۱۵ درصدی سایز اپها در مقایسه با فرمت APK خواهد بود. کاربران تنها نیاز به دانلود کدهای استفاده شده در یک اپ و منابع موردنیاز دارند. با این کار، برنامهها سریعتر دانلود میشوند و کاربران کمتر تصمیم به حذف آنها میگیرند.
مدیریت بهتر برنامهها
فرمت AAB باعث ساخت یک نسخه شامل تمام کدهای کامپایل شده، منابع و کتابخانههای بومی برای یک برنامه خاص میشود. در همین راستا نیاز به ساخت، امضا، آپلود و مدیریت کدهای نسخهها برای APKهای مختلف از بین میرود.
Play Asset Delivery
این ویژگی انحصاری AAB مدت زمان انتظار و انتقال قابلیتها و هزینه آنها را کاهش میدهد. بازیها با چنین ویژگی میتوانند از مزایای فشردهسازی بافت بهرهمند شوند و کاربران تنها به موارد موردنیاز و البته مناسب دستگاه خودشان دسترسی داشته باشند.
توسعه سریعتر برنامهها
فرمت AAB باعث میشود اندروید استودیو با استفاده از Gradle، سریعتر سیستمها را بسازد. این قابلیت برای اپهای ماژولار بهینهسازی شده، بنابراین در مقایسه با اپهای تکی حجیم سریعتر ساخته میشوند. با توجه به این موضوع، توسعهدهندگان باید کمتر انتظار بکشند و در همین راستا میتوانند زمان بیشتری به طراحی، کدنویسی و البته تست برنامه اختصاص دهند.
تجربه فوری اپ
آخرین مزیت استفاده از این فرمت، ارائه تجربه فوری اپها در گوگل پلی است. این فرمت از باندلی به نام Instant-Enabled App بهره میبرد که نصب اپ، پیکربندی، بیلد، تست و راهنمای انتشار را نشان میدهد.
معایب فرمت AAB
اگرچه این فرمت مزایای تقریبا زیادی برای کاربران و توسعهدهندگان به همراه دارد، اما معایبی هم دارد که در ادامه نگاهی به آنها خواهیم داشت، البته مورد اول چندان دردساز نخواهد بود.
اشتراک برنامهها
اگر توسعهدهندهای بخواهد برنامههایش را در فروشگاههای مختلف مانند اپ استور آمازون یا اپ گالری هواوی منتشر کند، بطور دستی نسخه APK را منتقل میکند که کار پیچیده و چندان سنگینی برای توسعهدهنده نیست.
در صورتی که توسعهدهندهای تنها بخواهد برنامههایش را در گوگل پلی استور منتشر کند، استفاده از فرمت AAB برای آن مشکلی ایجاد نمیکند. اما مصرفکننده نهایی که هنوز به فایل APK نیاز دارد، اگر نتواند از طریق استورهای مختلف به آن دسترسی پیدا کند، باید با مشکل خروجی گرفتن از AAB کنار بیایند.
کلید امضا
این موضوع یکی از نگرانیهای اصلی است چرا که توسعهدهندگان برای خروجی گرفتن از فایلهای AAB با فرمت APK، باید کلید امضا شده را در اختیار گوگل قرار دهند. همین موضوع قدرت برتر را به گوگل میدهد تا به هسته اپ دسترسی پیدا کند.
کلید امضای برنامه به عنوان قدرت توسعهدهنده عمل میکند و نشاندهنده ساخت یک برنامه است. اگر فرد دیگری به کلید امضا دسترسی داشته باشد، میتواند از آن برای فرمان دادن به برنامه استفاده کند که برای توسعهدهندگانی که آشنایی کاملی با فرمت AAB ندارند، میتواند دردسرساز شود.
اگرچه AAB غیر از پلی استور از پلتفرمهای انتشار اپ دیگری پشتیبانی نمیکند، اما اگر توسعهدهندهای بخواهد دست به چنین کاری بزند، چندین راهحل پیش روی وی قرار دارد. برای مثال توسعهدهنده میتواند از یک کلید امضا یکسان برای تمام پلتفرمها استفاده کند یا برای هرکدام از آنها به سراغ کلید متفاوتی برود.
برخی اقدام اخیر گوگل را واکنش آن به امکان اجرای اپهای اندرویدی با استفاده از اپ استور آمازون در ویندوز ۱۱ مایکروسافت میدانند. باید منتظر ماند و دید فرمت AAB چه سرنوشتی برای اپهای اندرویدی، توسعهدهندگان و البته خود اندروید رقم میزند. در حال حاضر برای اظهارنظر قطعی در این زمینه زود است، اما انتظار میرود گوگل به کنترل بیشتری روی اپها دست پیدا کند.