مع اقترابنا من إصدار Android 12 المستقر ، تجري Google بعض التغييرات الأساسية لتسليم التطبيقات وتوزيعها على أجهزة Android. اعتبارًا من أغسطس 2021 ، سيتم نشر جميع التطبيقات الجديدة على متجر Play بتنسيق حزم تطبيقات Android (.aab) بدلاً من تنسيق APK الحالي. إذن ما هي الاختلافات الرئيسية بين APK وحزم تطبيقات Android (AAB)؟ هل يمكننا تحميل ملفات AABs مثل ملفات APK؟ للإجابة على جميع أسئلتك ، سأشرح في هذه المقالة APK مقابل AAB. لذلك دون إضاعة للوقت ، دعنا نتعمق في الأمر.
APK مقابل AAB (حزم تطبيقات Android): مقارنة شاملة
APK مقابل AAB: فهم الأساسيات
أولاً ، نحتاج إلى فهم بعض الأساسيات لفهم الاختلافات بين APK وحزمة تطبيقات Android بشكل صحيح.
كانت APK هي حزمة تطبيقات التوزيع على نظام Android منذ إنشائها. يتكون APK بشكل أساسي من أكواد التطبيق والموارد الثقيلة مثل الصورة والصوت وما إلى ذلك ، ومفتاح توقيع التطبيق الذي أنشأه المطور. لاحظ أن أجهزة Android تأتي بأشكال ومواصفات مختلفة. على سبيل المثال ، يمكن أن يكون للأجهزة درجات متفاوتة من كثافة الشاشة (320 نقطة في البوصة ، 480 نقطة في البوصة ، وما إلى ذلك) ونوع المعالج (ARM و ARM64 و x86) والمزيد أيضًا ، بناءً على منطقة المستخدم ، يحتاج التطبيق إلى حزمة لغة (en ، fr ، ger ، إلخ).
يتعين على المطور إنشاء وتحميل ملفات APK متعددة على متجر Play استنادًا إلى منطقة المستخدم ونوع المعالج وكثافة الشاشة. عندما ينقر المستخدم على زر “التثبيت” في متجر Play ، يتم بعد ذلك تثبيت ملف APK الصحيح والأنسب على أجهزته. ومع ذلك ، كل هذا يضع مهمة هائلة في يد المطور. لا يتعين عليهم فقط تطوير التطبيقات ولكن أيضًا إدارة ملفات APK متعددة لدعم مجموعة كبيرة من الأجهزة.
لتجنب هذا العمل المعقد و الذي يهدر الكثير من الوقت ، يقوم معظم المطورين بإنشاء ملف APK عالمي يأتي مع جميع الموارد (حزم اللغات والأكواد والمزيد) على الرغم من أنك قد لا تحتاج إلى معظمها على هذا الجهاز المحدد. ينتج عن هذا APK ضخم مع حجم تطبيق أكبر يتطلب وقت تثبيت أطول ويستهلك مزيدًا من النطاق الترددي.
[ads1]
[ads2]
تريد Google حل هذه المشكلة وتحمل معظم هذا العبء على عاتق المطورين باستخدام حزم تطبيقات Android (AAB). وهذا بدوره سيساعد في تقليل حجم التطبيق ووقت التثبيت واستهلاك النطاق الترددي. قدمت الشركة AAB في Google I / O 2018 ، والآن ، بعد ما يقرب من عامين ، تفرض Google أنك بحاجة إلى إرسال تطبيقات جديدة بتنسيق AAB على متجر Play.
بالمقارنة مع APK ، فإن تنسيق AAB ليس حزمة توزيع جديدة تمامًا. AAB عبارة عن حاوية تستضيف حزمة APK أساسية وملفات APK متعددة مقسمة. بشكل أساسي ، AAB هو تنسيق نشر يرسله المطور إلى متجر Play بينما APK هو تنسيق الحزمة لتطبيقات Android التي تقوم بتثبيتها على جهازك.
إذن ما الذي يتغير هنا حقًا؟ اعتبارًا من آب (أغسطس) 2021 ، لن يضطر المطورون إلى التعامل مع مجموعة كاملة من ملفات APK وإدارتها لمجموعة كبيرة من الأجهزة. باستخدام AAB ، يسلم المطورون كل شيء إلى Google – رمز التطبيق ، والأصول ، والموارد الثقيلة ، وجميع حزم اللغات ، والأهم من ذلك ، مفتاح توقيع التطبيق الخاص. الآن ، يمكن لـ Google إنشاء وتقديم ملفات APK مُحسّنة للمستخدمين بناءً على تكوين أجهزتهم. يمكنه إنشاء حزمة AAB أصغر بكثير ، وهي حزمة صغيرة الحجم ، ويتم تثبيتها في لمح البصر ، وتستهلك بيانات أقل للأجهزة منخفضة التكلفة. هذا هو الاقتراح الرئيسي لـ AAB مقابل APK ، ولكن هناك المزيد من التفاصيل.
مشاركة مفتاح التوقيع الخاص مع Google
بالنظر إلى ما تقدمه AAB على الطاولة ، يبدو أنه بديل رائع لـ APK. يقلل تنسيق AAB من حجم التطبيق ، ولا يضطر المطورون إلى إنشاء ملفات APK متعددة. ومع ذلك ، أعرب العديد من المطورين عن قلقهم بشأن مشاركة مفتاح التوقيع الخاص مع Google.
كما ذكرت أعلاه ، فإن مفتاح التوقيع هو أهم المعلومات للتحقق من سلامة APK. حتى إذا قمت بتحميل APK من مصدر خارجي ، فإن متجر Google Play Store يتحقق من مفتاح التوقيع للتأكد من أنه لم يتم العبث بأي شيء.
باستخدام AAB ، تفرض Google على المطورين مشاركة مفتاح التوقيع الخاص حتى تتمكن Google من إنشاء حزمة التطبيق وتوقيع AAB بنفس المفتاح الخاص. عندما يقوم المستخدمون بتثبيت التطبيق أو التحديث إلى إصدار جديد ، فإن Play Services ستطابق مفتاح التوقيع ، وسيتم التثبيت بدون أي مشاكل في عدم تطابق المفتاح أو فشل التوقيع. مع ذلك ، يقول المطورون إنه من المحتمل أن يفتح الباب أمام حقن الكود. تقول Google أن “جميع مفاتيح التوقيع مخزنة على نفس البنية التحتية التي تستخدمها Google لتخزين مفاتيحها الخاصة”. لذا كن مطمئنًا ، فجميع مفاتيح التوقيع الخاصة بك محمية بأمان صارم.
علاوة على ذلك ، لتهدئة مخاوف المطورين ، أعلنت Google عن رمز الشفافية الذي يسمح للمطورين بإنشاء مفتاح خاص منفصل لا يمكن الوصول إليه إلا من قبلهم. من المفتاح الخاص المنفصل ، يمكن للمطورين إنشاء توقيع إضافي يمكن استخدامه للتحقق من تكامل التطبيق. ومع ذلك ، هناك قيود على هذه الطريقة. تتعامل شفافية الكود مع الكود فقط وليس مع الأصول أو الموارد أو البيان. أيضًا ، هذه ميزة اختيارية قد تترك العديد من المطورين خارج الحلقة.
هل ستجعل AAB الأمور أكثر صعوبة لمتاجر التطبيقات التابعة لجهات خارجية؟ هناك مشكلة أخرى تنشأ عن مشاركة المفتاح الخاص مع Google وهي أنه قد يجعل الأمور أكثر صعوبة بالنسبة لمتاجر التطبيقات التابعة لجهات خارجية. على سبيل المثال ، إذا قمت بتثبيت تطبيق من Play Store ولكنك تريد التحديث إلى أحدث إصدار من متجر Play Store البديل الآخر (مثل Amazon App Store أو Aptoide Store) ، فقد يفشل التثبيت بسبب عدم تطابق التوقيع. ذلك لأن Google تدير الآن مفتاح التوقيع الخاص ، لذلك لا يمكنك استخدام نفس المفتاح أثناء تحميل تطبيقك إلى متجر تطبيقات Android تابع لجهة خارجية. سيتعين عليك استخدام مفتاح خاص آخر ، وسيؤدي ذلك إلى حدوث خطأ عدم تطابق المفتاح الخاص. هل ستكون هذه مشكلة بالنسبة لدعم تطبيقات Android على نظام التشغيل Windows 11؟ سيتعين علينا الانتظار ومعرفة ذلك.
بخلاف ذلك ، فإن الافتراض بأن AAB سيعوق المطورين من تحميل ملفات APK إلى متاجر تطبيقات الطرف الثالث يبدو غير صحيح. قامت Google بالفعل بإنشاء أداة مفتوحة المصدر تسمى bundletool تتيح للمطورين إنشاء ملفات APK من حزم AAB. المشكلة الوحيدة ، في الوقت الحالي ، هي أن مشاركة مفتاح التوقيع الخاص ستؤثر على مستخدمي Android المتميزين.
هل يمكننا تحميل AABsتمامًا مثل ملفات APK؟
مما نعرفه ، يبدو أن التحميل الجانبي لـ AABs على أجهزة Android سيكون ممكنًا ، لكنه لن يكون ملائمًا مثل تحميل ملفات APK الجانبية. لا يدعم مثبت حزمة Android حاليًا تنسيق حزم AAB ، مما يعني أن تثبيت AAB على الجهاز لن يكون ممكنًا محليًا. ومع ذلك ، يمكنك استخدام تطبيقات المثبت التابعة لجهات خارجية لتثبيت حزمة AAB على الجهاز.
على سبيل المثال ، حاليًا ، APKMirror Installer (مجاني ، يقدم عملية شراء داخل التطبيق) يسمح لك بتثبيت حزم APKM (Base APK + Split APKs) مع تطبيق المثبت الخاص به.
بصرف النظر عن ذلك ، لن تكون قادرًا على إضافة adb sideload إلى تثبيت AABs. سيتعين عليك استخدام bundletool مفتوحة المصدر للحصول على APK الصحيح المتوافق مع جهازك. نظرًا لأن AAB أصبحت أكثر شيوعًا ، فقد تظهر طرق جديدة ومريحة للتحميل الجانبي. ضع في اعتبارك أن التحميل الجانبي لملف APK الأساسي سيتعطل على جهازك.
[ads1]
[ads2]
APK مقابل AAB: المزايا والعيوب
بعد استعراض جميع النقاط ، يمكنك معرفة أن AAB لن تحدث فرقًا كبيرًا من حيث تجربة المستخدم لمعظم المستخدمين. نعم ، سيؤدي ذلك إلى تقليل حجم التطبيق ، الأمر الذي سيكون مفيدًا لمعظم المستخدمين. على سبيل المثال – خفضت Airbnb حجم التطبيق بنسبة 22٪ بعد التبديل من APK إلى AAB ، بينما خفضت Netflix حجم التطبيق بنسبة 57٪. هذا فرق كبير في حجم التطبيق. بصرف النظر عن ذلك ، ستحصل ميزة التطبيق الفوري المهجورة على فرصة جديدة للحياة مع AAB على أجهزة Android.
ومع ذلك ، بالنسبة للمستخدمين المحترفين الذين يرغبون في تحميل AAB ، ستصبح الأمور صعبة بعض الشيء وغير مريحة. قد تضطر إلى استخدام bundletool لاستخراج ملفات APK لجهازك أو استخدام أداة تثبيت تابعة لجهة خارجية. شيء واحد يجب ملاحظته هو أن AAB ستبتعد عن OBB (النقطة الثنائية غير الشفافة) لتنزيل الأصول والموارد الكبيرة. بدلاً من ذلك ، سيستخدم Play Asset Delivery أو Play Feature Delivery لتنزيل موارد ثقيلة بحجم تنزيل يبلغ 150 ميجابايت أو أعلى. سيتعين علينا أن نرى كيف يؤثر ذلك على ألعاب التحميل الجانبي مثل Battlegrounds Mobile India و PUBG Mobile و FAU-G والمزيد.
أما بالنسبة للمطورين الأكثر تضررًا من هذا التغيير ، فلن يحتاجوا إلى إعادة صياغة كودهم ، وهو أمر رائع. تجلب AAB أيضًا نمطية ، مما يعني أنه يمكنهم تغيير مقتطف الشفرة ودمجه مع القاعدة الأساسية دون مواجهة العديد من تعارضات الدمج. تتمثل إحدى الميزات الكبيرة لـ AAB في أنها توفر خيارات التخصيص للمطورين. يمكنهم اختيار مستوى واجهة برمجة التطبيقات الذي يريدون استهدافه أو نوع الجهاز الذي سيتم دعمه. يمكن للمطورين أيضًا تحديد جميع الميزات التي يجب تقديمها على نوع جهاز معين أو الهواتف الذكية التي تعمل على إصدار SDK كحد أدنى. أما بالنسبة للعيوب ، فإن جوهر المشكلة هو مشاركة المفتاح الخاص ، والذي ستديره Google الآن. قد يكون عدم التوافق مع متاجر التطبيقات التابعة لجهات خارجية مشكلة كبيرة أخرى ، وسيتعين على المطورين بذل جهد إضافي لنشر وإدارة ملفات APK (تمامًا مثل متجر Play الآن) في متاجر التطبيقات الأخرى. APK مقابل AAB (حزم تطبيقات Android): ما رأيك؟ بالنسبة لي ، أكبر مشكلة في هذا التغيير هي الاعتماد المفرط على Google. مع هذا التغيير ، تتأكد شركة Mountain View العملاقة من أن Play Store يظل متجر التطبيقات الفعلي على أجهزة Android.
[ads1]
[ads2]
من استضافة التطبيقات إلى إدارة المفاتيح الخاصة ، تتحكم Google الآن في جميع جوانب نشر التطبيقات وتوزيعها على Android. قد يكون المطورون سعداء بالتغييرات الجديدة لأنهم لم يعودوا مضطرين لإدارة ملفات APK متعددة ، ولكن كيف سيكون أداءها للمستخدمين على المدى الطويل؟ لا نعرف بعد. مع تسليم المطورين السيطرة إلى Google ، هل سيحدث تغييرًا جيدًا؟ سيتعين علينا أن ننتظر ونرى.