المعلوماتية > برمجيات

لماذا غيّرت غوغل صيغة الأندرويد على متجرها من APK إلى AAB؟

قدّمت Google في عام 2018 حزمةَ تطبيقات أندرويد المعروفة باسم AAB، وهي صيغةٌ جديدة لتطبيقات أندرويد توفّرُ مزايا مُحسَّنة أكثر من صيغة أندرويد الحالية الأكثر شيوعًا APK، نذكر منها: حجم تطبيق أصغر وتحميل أسرع ومعدل تنصيب مرتفع وميزات عديدة أخرى (1). 

بادئ ذي بدء؛ تضمّ الملفات من النوع APK ملفًّا بسيطًا، بعد تنصيبه أو تحريره يحتوي الملفات كلَّها والمحتوى الخاص بالتطبيق؛ بما في ذلك الكود المصدري (source code) والمجلّدات وملفات الوسائط (Assets) والخطوط وكلّ شيء مرتبط بالتطبيق.

وما يجري بالضبط عند تنصيب تطبيق أندرويد بصيغة APK في الهاتف الذكي هو نسخ محتوى الكود المصدري للتطبيق إلى مجلدٍ خاص به في النظام، مع إنشاء أيقونة للتطبيق في الشاشة الرئيسة لتسهيل الوصول إليه. وتمامًا مثلما تستخدم أنظمة تشغيل ويندوز Windows الملفات من نوع exe لتثبيت البرامج؛ يستخدم نظام أندرويد Android ملفات APK لتثبيت التطبيقات على الهاتف الذكي (2).

من ناحية المبدأ؛ تُعدّ التطبيقات ذات اللاحقة APK تفرّعًا من التطبيقات JAR التي بدورها تتفرّع من صيغة الملفات المضغوطة ZIP. ولذلك؛ تُعدّ تطبيقات APK ملفات مضغوطة تتضمن كثيرًا من المحتويات والأصول ضمنها بترتيبٍ معين، وعمومًا؛ يجب أن تكون مصممة لتكون قادرةً على العمل ضمن أكبر عدد من الأجهزة المختلفة من ناحية العتاد الصلب وإصدار نظام التشغيل، وإلا لن يكون هناك توافقية ما بين التطبيق المُطوَّر وأجهزة المستخدمين. 

ولا شك في أنّ تحقيق هذه التوافقية يُحتّم بعض التعقيدات التي لا مفر منها؛ فأجهزة المستخدمين حكمًا ستكون مختلفة من ناحية بنية المعالج ومعماريته ودقة الشاشة وكثافة البكسلات وإصدار نظام التشغيل وسواها. ولذلك؛ يلزم للملف أن يكون مجهّزًا للتعامل مع هذه الأمور المختلفة. 

وبالطبع مقابل هذه التوافقية الإضافية مع مختلف الأجهزة ثمّة حجم إضافي، على سبيل المثال لا الحصر: قد يصل حجم تطبيقات مثل فيسبوك أو يوتيوب وغيرها إلى 1 غيغابايت أو أكثر، ويعود السبب إلى أن التطبيق ينصّب ملفات كثيرة للغاية حتى إن لم يكن هاتف المستخدم بحاجة إليها (2, 3).

أما فيما يخص تطبيقات أندرويد ذات اللاحقة AAB الحديثة؛ فالأمور مختلفة من ناحية التوافقية. فعندما ينزّل المستخدم التطبيقَ من متجر غوغل Google Play، سيحصل على النسخة المتوافقة مع المعالج والنظام والشاشة الخاصة بجهازه فقط. وإنّ التطبيق نفسه قد لا يعمل على أجهزة أخرى لأنّها غير متوافقة. النتيجة هنا هي أنّ تطبيقات AAB ستكون أصغر حجمًا وبصورة ملحوظة أيضًا؛ إذ إنّ بعض التطبيقات قد تصبح أصغر بمقدار 15% -كمتوسط- عن حجمها عند العمل بصيغة APK، ولكن سيصبح التعاملُ مع ملفات تنصيب التطبيقات مشكلةً وإرسالُها بين الهواتف المختلفة استحالة؛ إذ إن التطبيق نفسه الذي يعمل على هاتف فئة عليا من العام الجاري مثلًا لن يعمل على آخر من فئة متوسطة من العام الماضي، والعكس صحيح (1,3).

ويُذكَر أنّ غوغل أعلنت أنّ أكثر من 1000 تطبيق يعملون الآن على الصيغة الجديدة AAB، كاشفةً عن التغيّر في حجم بعضهم كما يظهر أمامكم في الصورة الآتية (1).

التوصيف: التطبيقات التي أعلنت غوغل أنها تعمل الآن على الصيغة الجديدة AAB.

إضافةً إلى ما سبق؛ ستكون تطبيقات AAB أقلَّ عرضة للتلاعب بها، وهذه الناحية مفيدة لمنع المخترقين من إرسال تحديثات خبيثة للتطبيقات، لكنّها ستصعّب الأمر على المتاجر المستقلة وستجعل تثبيت التطبيقات غير المرفوعة إلى المتجر أصعب؛ لأنه -كما سلف الذكر- الملفات بصيغة APK هي عبارة عن حزم فقط يُفَك ضغطها فور تنصيب التطبيق، ولا شك في أنّ هذا يسهّل عملية اختراقها؛ فهناك برامج تعمل محاكيًا لتنصيب تطبيقات الموبايل؛ إذ يمكنها استخراج الملفات المصدرية كلها فورَ إدراج التطبيق. 

أما مع صيغة AAB سيصعب الأمر على المخترقين لأن ميكانيكية عمل متجر غوغل Google Play والتعامل مع الصيغة الجديدة من الصعب محاكاتها، ولكن ليس من المستحيل. ولذلك؛ لن تُلغَى مشكلة قرصنة التطبيقات واستعراضها في متاجر أخرى تمامًا، وإنما سيكون من الصعب فعلها وسيقلل من عملية قرصنة التطبيقات عمومًا (3).

الآن بعد ما تقدّم من شرح أصبح بإمكاننا تلخيص المميزات التي تجلبها لنا صيغة AAB، وهي كما يأتي:

1- خفة التطبيقات واستغلال مساحة أقل في الهاتف الذكي (3).

2- دعم أفضل لهواتف أندرويد وأقل لمنصات أخرى:

إنّ وجود صيغ مختلفة للتطبيقات قد يكون عائقًا أو تحديًا أمام إعادة نشرها على المنصات المختلفة؛ مما يحتّم على المستثمرين دعم صيغة AAB إن أرادوا الاستفادة المُثلى من خدمات غوغل ومنتجاته. 

على سبيل المثال: نظام تشغيل ويندوز 11 الذي سيدعم تلقائيًّا تطبيقات متجر أمازون لتطبيقات الأندرويد، الآن بعد وجود صيغ مختلفة لتطبيقات أندرويد أعلنت أمازون أنهم سيعملون على دعم صيغة AAB الجديدة لما تقدّمه من مزايا إلى المستخدمين (3,4).

3- منع أو تقليل إمكانية قرصنة الكود المصدري للتطبيق واستخدام التطبيقات على منصات أخرى (3).

في النهاية، نود أن نشير هنا إلى أن الانتقال إلى AAB حتى تاريخ نشر هذا المقال يقتصر على التطبيقات الجديدة التي ستُنشَر على متجر Google Play. أما التطبيقات الحاليّة لن تتأثر بالقرار؛ لتُترَك الحرية لمطوريها بالانتقال إلى الصيغة الجديدة أو بالبقاء دون أي تغير (3).

المصادر:

1- Elliott D. The future of Android App Bundles is here [Internet]. Android Developers Blog. 2021 [cited 10 July 2021]. Available from: هنا

2- APK Expansion Files  |  Android Developers [Internet]. Android Developers. 2021 [cited 10 July 2021]. Available from: هنا

3- About Android App Bundles  |  Android Developers [Internet]. Android Developers. 2021 [cited 10 July 2021]. Available from: هنا

4- Amazon Appstore to support Android App Bundle [Internet]. Developer.amazon.com. 2021 [cited 21 August 2021]. Available from:

هنا