اگر جزو کاربران اندروید هستید، قطعا تابحال نام فایل APK را زیاد شنیدهاید. برای نصب صحیح اپلیکیشنها روی دستگاه اندرویدی، به فایل APK نیاز است. فایل APK فرمت هستهای است که اندروید برای توزیع و نصب اپلیکیشنها از آن استفاده میکند.
اما تمام این ماجرا به قبل از جایگزینی فایل apk با aab در آگوست 2021 برمیگردد و از این پس وارد دنیای جدیدی از اندروید میشویم. حال قرار است فایل APK با فایل AAB جایگزین شود تا نرم افزارهای کم حجمتر و اختصاصیتری را تجربه کرد.
اکنون برنامه های جدیدی که در play store منتشر می شوند باید از فرمت جدید AAB پشتیبانی کنند. اما سوالی که ذهن همه را درگیر کرده است، این موضوع است که چرا باید از فایل AAB استفاده کرد و مزایا و معایب استفاده از فرمت Android App Bundle چیست؟
در ادامه این مطلب از آژانس دیجیتال مارکتینگ فرامهام به بررسی این موضوعات خواهیم پرداخت. همراه ما باشید.
فایل aab در اندروید چیست؟
فایل AAB (Android App Bundle) یک فرمت فشرده برای توسعه برنامههای اندروید است که توسط Google پشتیبانی میشود. این فرمت از سال ۲۰۱۸ معرفی شده و تفاوتهایی با فرمت APK دارد.
فایل AAB یک بسته برنامه برای توسعهدهندگان است که شامل تمام منابع و کدهای مورد نیاز برای ساخت برنامه است. با استفاده از فایل AAB، توسعهدهندگان میتوانند یک بسته برنامه یکپارچه را بسازند که بستهای فشرده است که حاوی تمام نسخههای مختلف برنامه برای مختلف معماریها و تنظیمات دستگاه است.
چه تفاوتی با apk دارد؟
تفاوت اصلی بین فایل AAB و APK در فرآیند توسعه و توزیع برنامه است. وقتی یک فایل AAB به گوگل پلی ارسال میشود، گوگل پلی مسئول ساخت APKهای نهایی است که بر اساس نیازهای دستگاه و معماریهای مختلف ایجاد میشوند. این به این معنی است که هر دستگاه تنها نسخهای از برنامه را دریافت میکند که برای آن مناسب است و حجم برنامه کاهش مییابد. این مزیت به توسعهدهندگان کمک میکند تا حجم برنامه را کاهش داده و مشکلات سازگاری را با دستگاههای مختلف را به حداقل برسانند.
به طور خلاصه، فایل AAB فقط برای توسعه و ارسال به فروشگاههای برنامهها مورد استفاده قرار میگیرد و فایل APK برای نصب و اجرای برنامه بر روی دستگاههای کاربران استفاده میشود.
مزایای فایل AAB اندروید
جایگزینی فایل apk با aab ، مزایایی دارد که باهم بررسی میکنیم.
1) سفارشی سازی منابع اپ برای کاربر که کاهش حجم نهایی اپ بین 35 تا 50 درصد را به دنبال دارد. کاربران فقط کدهای استفاده شده در یک اپ و منابع موردنیاز را دانلود خواهند کرد. در این صورت، برنامهها سریع تر دانلود شده و تجربه کاربری بهتری را به همراه دارد.
2) signing توسط استور به جای برنامه نویس انجام می شود.
3) امنیت اپها بهعلت سختتر شدن امکان تغییر اپها در آینده، افزایش خواهد یافت.
4) بروزرسانی و توسعه اپ بهبود مییابد زیرا بروزرسانی صرفا برای یک نوع سخت افزار یا دستگاه خاص امکان پذیر است.
5) با استفاده از ویژگی Play Asset Delivery مدت زمان انتقال قابلیت ها و هزینه ها کاهش پیدا می کند. بازی ها متناسب یا دستگاه کاربران بهینه سازی می شوند.
در فرمت AAB این امکان فراهم شده تا برنامه را به قطعات تقسیم کرد. برای درک بهتر این موضوع یک بازی را تصور کنید که اکثر بازیکنان نمی توانند از مرحله اول آن عبور کنند. بنابراین چه نیازی است که تمام دیتای بازی از همان اول دانلود شود؟ در این قابلیت جدید مرحله بعدی را در صورت عبور از مرحله اول می توانید دانلود کنید.
به این مثال دقت کنید تا قضیه برای شما شفاف تر شود. کاربری که دستگاه پایین رده دارد، برای دانلود یک بازی نیازی به دانلود بازی با کیفیت و وضوح بالا ندارد. بازی در این دستگاه ها با کیفیت پایین تری دانلود می شود که حجم بازی را تاحد زیادی کاهش می دهد. همه این امکانات تجربه کاربری بهتری را برای کاربران ایجاد خواهد کرد. به نظر می رسد گوگل به دنبال این است تا دستگاه های ارزان قیمت هم بتوانند عملکرد بالایی را تجربه کنند.
آیا فایل AAB برای تمام نسخههای اندروید قابل استفاده است؟
بله، فایل AAB برای تمام نسخههای اندروید قابل استفاده است. با استفاده از فایل AAB میتوانید بستهای را بسازید که شامل نسخههای مختلف برنامه برای مختلف معماریها و تنظیمات دستگاه است. گوگل پلی هنگامی که برنامه را برای دستگاهی دریافت میکند، بر اساس نیازهای آن دستگاه، تنها نسخهای از برنامه را دریافت میکند که برای آن مناسب است. به این ترتیب، فایل AAB میتواند مناسب برای همه نسخههای اندروید باشد و گوگل پلی با استفاده از آن، APKهای مورد نیاز را برای هر دستگاه تولید میکند.
به طور کلی، فایل AAB امکاناتی را فراهم میکند تا توسعهدهندگان برنامههای اندروید بتوانند بستههای برنامهای را ایجاد کنند که به طور انعطافپذیر با نیازهای مختلف دستگاهها سازگاری داشته باشند.
معایب فرمت AAB اندروید
فرمت جدید اندروید، معایبی هم دارد که در ادامه به بررسی معایب آن میپردازیم.
1) به علت ساین شدن برنامه توسط استورها، کاربران صرفا اپ را از همان استوری می توانند به روزرسانی کنند که اپ را از آنجا دانلود کردهاند.
2) بعلت ساین شدن برنامه توسط استورها، آنها نفوذ بیشتری بر روی اپها دارند. این موضوع نگران کننده وجود دارد که اگر سرورهای استور از جمله گوگل هک شود کل اپها در معرض خطر خواهند بود.
ثانیا این بحث شکل گرفته است که امکان ایجاد backdoor جهت نفوذ بر روی اپهای پر مخاطب (همچون پیام رسانها) برای استورها فراهم شده است که با فشار دولتها غیر ممکن نیست.
3) بررسی و رفع خطا برای برنامه نویسان بسیار سخت تر شده است، چرا که قبلا امکانش بود برای یک کاربر دارای خطا خروجی تولید کنیم و منتظر تست او باشیم اما در فایل aab چون اپ فقط توسط استور ساین می شود، امکان چنین چیزی وجود ندارد.
4) این فایل ها برای کاربران حرفهای اندروید بسیار پرکاربرد و ضروری است. از آنجایی که گوگل همواره تاکید می کند که در انتخاب منبع دانلود فایل های خود دقت کنید و فایل های APK را تنها از Google Play دریافت و نصب کنید، این دغدغه به وجود آمده که در آینده گوگل هم همچون اپل به سمت انحصار گرایی رود و جلوی استورهای غیر گوگلی را بگیرد.
جمع بندی؛ جایگزینی فایل apk با aab
میتوانید فایل APK موجود خود را با یک فایل AAB جایگزین کنید. با این کار، مزایایی مانند کاهش حجم برنامه و سازگاری بهتر با دستگاههای مختلف را خواهید داشت.
برای تولید یک فایل AAB، معمولاً از ابزارهای توسعهدهندگانی استفاده میشود که توسط Google ارائه میشوند. یکی از این ابزارها Android Studio است. در Android Studio، میتوانید پروژه خود را باز کرده و سپس از منوی Build گزینه Generate Signed Bundle/APK را انتخاب کنید. در مرحله بعد، میتوانید یک فایل AAB جدید ایجاد کنید و آن را به عنوان جایگزین فایل APK موجود خود استفاده کنید.
پس از تولید فایل AAB، شما میتوانید آن را به گوگل پلی یا دیگر فروشگاههای برنامهها ارسال کنید. در مرحله توزیع، گوگل پلی APKهای مورد نیاز را بر اساس دستگاهها و تنظیمات مختلف تولید میکند و به کاربران ارائه میدهد.
مهم است بهیاد داشته باشید که اگر برنامهای را با استفاده از فایل AAB توزیع میکنید، نیازی به تولید و آپلود فایل APK مجزا نیست. فایل AAB برای تولید APKهای نهایی مورد استفاده قرار میگیرد.
با توجه به اینکه از ابتدای ماه جاری (August 2021) گوگل برنامه نویسان را ملزم به آپلود فرمت aab به جای apk نموده است و کافه بازار هم به تازگی این فرمت جدید را پشتیبانی میکند، در این مقاله چند تفاوت اساسی این دو را بررسی کرده ایم.