أستمع الى المقال

مع اقتراب إصدار أندرويد 12 المستقرّ، تجري جوجل تغييرًا كبيرًا في كيفيّة نشر التطبيقات في متجر تطبيقات أندرويد الخاصّ بها. واعتبارًا من أغسطس / آب الماضي من هذا العام 2021، تمّ نشر جميع التطبيقات الجديدة على متجر بلاي بتنسيق حزم تطبيقات AAB بدلًا من تنسيق APK الحاليّ، والّتي تعني “حزم تطبيقات أندرويد” Android App Bundle.

إذن ما هي الاختلافات الرئيسيّة بين APK و AAB؟، وهل يمكننا تحميل ملفّات AAB مثل ملفّات APK؟ للإجابة على جميع هذه الأسئلة وغيرها، دعونا ألّا تقوم بإضاعة الوقت، ونتعمّق في تفاصيل ملفّات AAB.

ما هو ملفّ AAB؟

“AAB” تعني “حزمة تطبيقات أندرويد ” كما أوضحنا سابقًا، يحتوي ملفّ AAB على كود البرنامج الكامل لتطبيق أندرويد. بمجرّد اكتمال التطوير، يقوم المطوّر بتحميل التطبيق إلى متجر بلاي بتنسيق AAB، حيث يقوم المستخدم بتنزيله من هناك على هاتفه الذكيّ كالمعتاد.

للوهلة الأولى، لم يتغيّر شيء، فعند النقر فوق زرّ تثبيت في متجر بلاي، سيستمرّ هاتفنا الذكيّ في تنزيل ملفّ APK. إذن ما هو الهدف من كلّ هذه الضجّة؟

ملفّات AAB مصنوعة حسب الطلب

يكمن الاختلاف بين ملفّات APK و AAB فيما نسمّيه الموارد في التطبيق، الموارد هي كلّ شيء آخر ليس رمز برمجة، مثل الصور أو ملفّات اللغة أو الموسيقى، إذا قمنا بالنقر على زرّ تثبيت لتطبيق ما في متجر Play، فسوف ترسل لنا جوجل بعد ذلك ملفّ APK مصمّمًا من ملفّ AAB لجهازنا مع الموارد اللازمة المطلوبة.

لاحظ أنّ أجهزة أندرويد تأتي بأشكال ومواصفات مختلفة، على سبيل المثال يمكن أن يكون للأجهزة درجات متفاوتة من كثافة الشاشة مثل 320 نقطة في البوصة، 480 نقطة في البوصة وما إلى ذلك، وكما يختلف نوع المعالج ARM أو ARM64 أو x86، بناء على منطقة المستخدم يتمّ اختيار اللغتين مثلًا الإنجليزيّة والعربيّة كلغة للجهاز، ربّما لن تحتاج إلى حزمة اللغة الألمانيّة.

إذن تتيح ملفّات AAB للنظام الأساسيّ بتقديم تطبيق مخصّصة للمستخدمين، وبناء على تكوينات الجهاز واللغات، وسيؤدّي هذا إلى إزالة حزم الموارد غير الضروريّة من ملفّ APK إلى تقليل حجم التنزيل بنسبة تصل إلى 15%، وهذا سيجعل الملفّات أصغر حجمًا وأسرع وقتًا في التنزيل، وبالتالي تقليل فرص قيام المستخدمين بإلغاء طلب التنزيل بسبب حجم بعض التطبيقات الكبيرة.

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

أرادت جوجل حلّ هذه المشكلة وحمل معظم هذا العبء عن عاتق المطوّرين باستخدام حزم تطبيقات AAB، وساعد هذا في تقليل حجم التطبيق ووقت التثبيت واستهلاك النطاق التردّديّ، وقدّمت الشركة ملفّات AAB خلال مؤتمر Google I / O في عام 2018، والآن تفرض جوجل على المطوّرين إرسال التطبيقات الجديدة بتنسيق AAB على متجر بلاي.

إذن AAB هو عبارة عن حاوية تستضيف حزمة APK أساسيّة وملفّات APK متعدّدة مقسّمة، فملفّات AAB هو تنسيق نشر يقدّمه المطوّر إلى متجر بلاي بينما APK هو تنسيق الحزمة لتطبيقات أندرويد الّتي نقوم بتثبيتها على جهازنا.

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

مشاركة مفتاح التوقيع الخاصّ مع جوجل

ذكرنا في الفقرة السابقة، أنّه يتوجّب على مطوّرين التطبيقات تسليم مفتاح التوقيع الخاصّ بالتطبيقات إلى شركة جوجل، وهذا ما جعل الكثير من المطوّرين يعربون عن قلقهم بشأن مشاركة مفتاح التوقيع الخاصّ مع جوجل.

إنّ مفتاح التوقيع هو أهمّ المعلومات للتحقّق من سلامة APK، وحتّى إذا قمنا بتحميل ملفّ APK من مصدر خارجيّ، فإنّ متجر بلاي يتحقّق من مفتاح التوقيع للتأكّد من أنّه لم يتمّ العبث بأيّ شيء.

وباستخدام AAB تفرض جوجل على المطوّرين مشاركة مفتاح التوقيع الخاصّ حتّى تتمكّن جوجل من إنشاء حزمة التطبيق وتوقيع AAB بنفس المفتاح الخاصّ. عندما يقوم المستخدمون بتثبيت التطبيق أو التحديث إلى إصدار جديد، فإنّ “خدمات Play” ستطابق مفتاح التوقيع، وسيتمّ التثبيت بدون أيّ مشاكل في عدم تطابق المفتاح أو فشل التوقيع، ورغم ذلك يقول المطوّرون إنّ هذه المشاركة من المحتمل أن فتح الباب أمام حقن الكود بملفّات ضارّة، ولكن تقول جوجل أنّ “جميع مفاتيح التوقيع مخزّنة على نفس البنية التحتيّة الّتي تستخدمها جوجل لتخزين مفاتيحها الخاصّة”. لذا كونوا مطمئنّين، فجميع مفاتيح التوقيع الخاصّة بكم محميّة بأمان صارم.

AAB المزايا والعيوب

قد تكون من أفضل ميزات AAB هو تقليل حجم التطبيقات على المتجر، والّذي سيكون مفيدًا لمعظم المستخدمين، وتختلف نسبة التقليل من تطبيق إلى آخر، فعلى سبيل المثال انخفض حجم تطبيق Netflix بنسبة 57%، وتطبيق Duolingo لتعليم اللغات بنسبة 42%، وتطبيق Dropbox بنسبة 33%، وفي الحقيقة هذا فرق كبير في حجم التطبيق.

التطبيقنسبة إنخفاض حجم التطبيق
Netflix57%
RV AppStudios49%
Duolingo42%
LinkedIn36%
Fandango35%
Dropbox33%
Tinder28%
Flipkart26%
Ola Cabs25%
Airbnb22%
جدول يوضح النسبة المئوية في انخفاض حجم التطبيقات بعد تنسيق AAB

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

أمّا بالنسبة للعيوب، فإنّ جوهر المشكلة يكمن في مشاركة المفتاح الخاصّ، والّذي ستديره جوجل من الآن وصاعدًا، وقد يكون عدم التوافق مع متاجر التطبيقات التابعة لجهات خارجيّة مشكلة كبيرة أخرى، فعلى سبيل المثال إذا قمنا بتثبيت تطبيق من خارج متجر بلاي مثل Amazon App Store أو Aptoide Store ولكنّنا نريد التحديث إلى أحدث إصدار من متجر Play Store، فقد يفشل التثبيت بسبب عدم تطابق التوقيع.

وذلك لأنّ جوجل تدير الآن مفتاح التوقيع الخاصّ بالتطبيق، ولذلك لا يمكننا استخدام نفس المفتاح أثناء تحميل تطبيقاتنا إلى متجر تطبيقات أندرويد تابع لجهة خارجيّة، سيتعيّن علينا استخدام مفتاح خاصّ آخر، وسيؤدّي ذلك إلى حدوث خطأ عدم تطابق المفتاح الخاصّ.

وأما بالنسبة للمستخدمين المحترفين الّذين يرغبون في تحميل AABs، ستصبح الأمور صعبة إلى حد ما، في السابق كانوا يضطرون إلى استخدام bundletool لاستخراج ملفّات APK لجهازهم أو استخدام أداة تثبيت تابعة لجهة خارجيّة، وهناك شيء واحد يجب ملاحظته هو أنّ AAB ستبتعد عن OBB (النقطة الثنائيّة غير الشفّافة) لتنزيل الأصول والموارد الكبيرة، بدلًا من ذلك سيستخدمون Play Asset Delivery أو Play Feature Delivery لتنزيل الموارد الثقيلة بحجم تنزيل يبلغ 150 ميغابايت أو أكثر.

ما هو Play Feature Delivery؟

تتمثّل إحدى ميزات حزم التطبيقات في أنّها تسمح بفصل التطبيق إلى وحدات متعدّدة تسمّى “وحدات الميزات”، ويمكن بعد ذلك تسليم هذه الوحدات ديناميكيًّا إلى المستخدمين والأجهزة في أوقات مختلفة (في السابق كان يجب تسليم كلّ شيء كملفّ واحد في وقت التثبيت)، ويمنحك Play Feature Delivery القدرة على تخصيص وحدات الميزات الّتي يتمّ تسليمها إلى الأجهزة، ومع وقت التثبيت، وأوضاع التسليم المشروطة وعند الطلب، ويتيح ذلك تقليل حجم تطبيقاتنا، ممّا يؤدّي إلى المزيد من عمليّات التثبيت وتخصيص تجربة التطبيق، على سبيل المثال يمكننا تقديم ميزة نادرة الاستخدام مثل دعم العملاء عند الطلب للمستخدمين الّذين يحتاجون إليها بدلًا من وقت التثبيت، ممّا يقلّل من حجم التثبيت الأوّليّ لجميع المستخدمين الينّ لا يرغبون بهذه الميزة، أو يمكننا تقديم تجربة تطبيق كامل للأجهزة المتطوّرة مع تقديم تجربة تطبيق أصغر مع ميزات اختياريّة عند الطلب للأجهزة ذات مواصفات أقلّ.

ما هو Play Asset Delivery؟

يتيح Play Asset Delivery لمطوّري الألعاب تحسين تجربة المستخدم وتقليل وقت انتظار المستخدم من خلال تقديم أصول كبيرة ديناميكيًّا في الوقت الأمثل، ويمكن للألعاب الّتي تستخدم Play Asset Delivery أيضًا الاستفادة من استهداف وضغط التنسيق، بحيث لا يحصل المستخدمون إلّا على الأصول المناسبة لأجهزتهم، وبدون مساحة ضائعة أو عرض نطاق تردّديّ.

هل تتوفّر Play Feature Delivery في متاجر التطبيقات الأخرى؟

لا يتضمّن Play Feature Delivery و Play Asset Delivery التطبيقات والألعاب في متاجر الطرف الثالث، فهذه الخدمات الاختياريّة هي أمثلة على يميّز متجر بلاي نفسه كمتجر تطبيقات ويجلب قيمة إضافيّة وفائدة لمطوّري والمستخدمين.

رأي المحرّر:

من وجهة نظر كاتب التقرير، أكبر مشكلة في هذا التغيير هو استحواذ جوجل على سوق تطبيقات أندرويد بشكل شبه كلّيّ، مع هذا التغيير، وذلك من خلال الحصول على إدارة المفاتيح الخاصّة للتطبيقات، وكما تتحكّم جوجل الآن في جميع جوانب نشر التطبيقات وتوزيعها على متجرها.

 قد يكون المطوّرون سعداء بالتغييرات الجديدة لأنّهم لم يعودوا مضطرّين لإدارة ملفّات APK المتعدّدة، ولكن كيف ستكون إدارة جوجل لهذه التطبيقات على المدى البعيد؟، لا أحد باستطاعته الجزم في هذا الموضوع، ومع تسليم المطوّرين السيطرة إلى الكاملة لجوجل على تطبيقاتهم، لا يسعنا إلّا أن ننتظر ونتساءل هل سيكون هذا التغيير جيّدًا أم لا.

هل أعجبك المحتوى وتريد المزيد منه يصل إلى صندوق بريدك الإلكتروني بشكلٍ دوري؟
انضم إلى قائمة من يقدّرون محتوى إكسڤار واشترك بنشرتنا البريدية.