أخر الاخبار

مقارنة APK مقابل AAB: ما هيَّ الاختلافات ومن الأفضل؟

مقارنة APK مقابل AAB: ما هيَّ الاختلافات ومن الأفضل؟
بات وصول نظام الأندرويد 12، النسخة المستقرّة قريباً، وقد أجرت جوجل بعض التغييرات الأساسية قبل وصول النسخة المستقرة من النظام وعلى الرغم من أن التغيير الأخير، على الأغلب، لن تلاحظه كمستخدمٍ عادي، ألا أنهُ تغييرٌ كبيرٌ حقاً.

اعتباراً من شهر أغسطس من العام الجاري 2021، سيتوجب على مطوري التطبيقات رفع تطبيقاتهم الجديدة على متجر جوجل بلاي بحزمة AAB (Android App Bundles) بدلاً من تنسيق APK الحالي وقد نقلنا لكم سابقاً هذا الخبر وأيضاً نقلنا لكم سببٌ محتمل دفع جوجل للقيام بهذه الخطوة بعد أيامٍ قليلة من الإعلان عن ويندوز 11 الذي بات يدعم تشغيل تطبيقات الأندرويد دون الحاجة إلى محاكي، فأصبح بإمكانك تحميلها من مايكروسوفت ستور مباشرةً على الويندوز 11، ويعتمد متجر مايكروسوفت على متجر أمازون للتطبيقات لتوفير التطبيقات، ويعتمد ويندوز 11 على تقنية Intel Bridge لتشغيل التطبيقات.

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

مقارنة شاملة: APK مقابل AAB

قبل كل شيء، يجب علينا فهم بعض الأساسيات لمعرفة الاختلافات بين APK وحزمة تطبيقات أندرويد (AAB) بشكل صحيح.

كان تنسيق APK هو المعتمد في توزيع التطبيقات على نظام الأندرويد منذ إنشائه. يتكون تنسيق APK بشكل أساسي من أكواد التطبيق والموارد الثقيلة مثل الصور والصوت وما إلى ذلك، ومفتاح توقيع التطبيق الذي أنشأه المطور.

أجهزة الأندرويد تختلف عن بعضها البعض من هاتفٍ لآخر، ومن شركةٍ مصنِّعة لأُخرى، فتجد هواتف بأشكال ومواصفات مختلفة أينما ذهبت: كثافة البكسلات في الشاشة، نوع المعالج، لغة الهاتف، الخ..

مقارنة APK مقابل AAB: ما هيَّ الاختلافات ومن الأفضل؟

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

لتجنب هذا العمل المعقد والذي يستهلك وقتاً طويلاً، يقوم معظم المطورين بإنشاء ملف APK عالمي يأتي مع جميع الموارد (لغات متعددة، وأكواد متعددة) وعندما تثبِّت التطبيق يتم انتقاء الموارد المناسبة لهاتفك.

أنت الآن حزرت الأمر بشكلٍ صحيح؛ هذا ينتج عنه تطبيقات كبيرة الحجم تستهلك مساحة تخزين كبيرة وأيضاً تستهلك سعة إنترنت أكبر في عملية تنزيلها وتثبيتها على هاتفك.

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

فوائد عظيمة لك كمستخدم، وهنا قد يدور في ذهنك (وهو ما يدفع للتشكيك)، لماذا لم تقم جوجل بذلك في الماضي؟ حسناً الجواب: جوجل قدَّمت هذا التنسيق في حدث Google I/O عام 2018، أي قبل عامين من الآن ولكن الآن فرضته على المطورين (بعد أيامٍ قليلة من الإعلان عن ويندوز 11، اقرأ المقالة التي أدرجتها أعلاه).

ولكن دعني أصدمك قليلاً هنا، تنسيق APK سيبقى والتطبيقات عند تثبيتها ستكون بتنسيق APK على هاتفك! إذن ما معنى الاستبدال في هذه الحالة؟ حسناً، ركز معي فقد ذكرت أعلاه أن "هذا العبء لن يقع عليك بعد الآن" ودعني أوضح لك ذلك بمزيدٍ من التفاصيل.

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

من هنا سيكون بإمكان جوجل إنشاء ملفات APK محسَّنة لك أيُّها المستخدم بناءاً على مواصفات هاتفك.

مقارنة APK مقابل AAB: ما هيَّ الاختلافات ومن الأفضل؟

 حزمة AAB صغيرة الحجم، ويتم تثبيتها في لمح البصر، وتستهلك بيانات أقل. هذا هو المقترح الأساسي لـ AAB، والذي لا يعني القضاء على تنسيق APK كما أوضحت لكم أعلاه.

هل انتهينا؟ لا بالطبع لدينا المزيد لنتحدَّث عنه، فكما ذكرت في مطلع هذا المقال، أن هذا التغيير كبيرٌ حقاً.

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

بالنظر إلى ما ما تقدمه حزم AAB، فهيّ بديلٌ رائع لـ APK. وبشكلٍ موجز نحظى بتطبيقات ذات حجم أقل ولا يضطر المطور إلى إنشاء ملفات APK متعددة. ولكن، أعرب العديد من المطورين عن قلقهم بشأن مشاركة مفتاح التوقيع الخاص للتطبيق مع جوجل.

مفتاح التوقيع كما أشرت أعلاه، هو أهم المعلومات للتحقق من سلامة ملف APK. حتى إذا قمت بتحميل APK من مصدرٍ خارجي، فإن متجر Google Play Store يتحقق من مفتاح التوقيع للتأكد من أن التطبيق لم يتمُّ التلاعب به.

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

يقول المطورون إنه من المحتمل أن يفتح الباب أمام حقن الكود. ولكن تقول جوجل أن "جميع مفاتيح التوقيع مخزنة على نفس البنية التحتية التي تستخدمها جوجل لتخزين مفاتيحها الخاصة". لذا كن مطمئناً، فجميع مفاتيح التوقيع الخاصة بك محمية بأمانٍ صارم.

مقارنة APK مقابل AAB: ما هيَّ الاختلافات ومن الأفضل؟

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

ماذا سيحدث للمتاجر الخارجية (الطرف ثالث)؟

مقارنة APK مقابل AAB: ما هيَّ الاختلافات ومن الأفضل؟
هناك مشكلة أخرى تنشأ عن مشاركة المفتاح الخاص مع جوجل وهيَّ أنه قد يجعل الأمور أكثر صعوبة بالنسبة لمتاجر التطبيقات التابعة لجهات خارجية.

لنقل أنّك مستخدم سامسونج أو هواوي أو أي شركة أخرى توفِّر متجر تطبيقات، أو تستخدم متجر تطبيقات خارجي (مثل Amazon App Store أو Aptoide Store). هنا في حالة تثبيتك لتطبيق من جوجل بلاي وكان هناك تحديثٌ متاح للتطبيق على المتاجر الأخرى وترغب بتثبيته، فقد يفشل التثبيت بسبب عدم تطابق التوقيع.

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

وهنا يا عزيزي تُدرك ما ذكرت السؤال المطروح في مطلع مقالتنا، وهو هل جوجل خائفة من ويندوز 11؟ حيث هذه الخطوة، على الأرجح ستكون مشكلة بالنسبة لدعم تطبيقات الأندرويد على نظام التشغيل Windows 11، ولكن لننتظر أكثر حتّى تتضح الصورة بشكلٍ أفضل.

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

هل يمكن تحميل التطبيقات جانبياً مع حزمة AAB مثل ملفات APK؟

مما هو معروفٌ حالياً، الجواب نعم، يبدو أن التحميل الجانبي للتطبيقات بحزمة AAB على أجهزة الأندرويد سيكون ممكناً، لكنه لن يكون ملائماً مثل تحميل ملفات APK.

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

على سبيل المثال، يوجد حالياً مثبّت التطبيقات APKMirror Installer، وهذا يسمح لك بتثبيت حزم APKM (وهيَّ Base APK + Split APKs).

APK مقابل AAB: المزايا والعيوب

بعد استعراض أغلب النقاط، نستطيع الآن استنتاج أن AAB لن يحدث فرقاً كبيراً من حيث تجربة المستخدم. نعم، سيؤدي ذلك إلى تقليل حجم التطبيق، الأمر الذي سيكون مفيداً لمعظم المستخدمين (تطبيق Airbnb خُفض حجمه بنسبة 22٪ بعد الانتقال من APK إلى AAB، وتطبيق Netflix خُفض حجمه بنسبة 57٪. هذا فرقٌ كبيرٌ في حجم التطبيق). وهذه بعض الأرقام لبعض التطبيقات:

مقارنة APK مقابل AAB: ما هيَّ الاختلافات ومن الأفضل؟

ولكن التغيير الكبير هو أن ميزة التطبيق الفوري أتتها فرصة جديدة للعودة إلى الحياة مع حزم AAB.

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

هناك شيء يجب ملاحظته، وهو أن AAB ستستغني عن OBB، التي تستخدم لتنزيل الأصول والموارد الكبيرة. والبديل لذلك هو Play Asset Delivery أو Play Feature Delivery لتنزيل الموارد الثقيلة بحجم 150 ميجابايت فما أعلى. سيتعين علينا أن نرى كيف يؤثر ذلك على الألعاب التي تتطلب التحميل الجانبي مثل PUBG Mobile و FAU-G وغيرها.

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

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

APK مقابل AAB: الخاتمة

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



وضع القراءة :
حجم الخط
+
16
-
تباعد السطور
+
2
-