Adobe تخفض حجم تطبيقاتها بمقدار %20 من خلال استخدام حِزم التطبيقات والتقديم الديناميكي
الخلفية
تقدّم أدوات الإبداع والأدوات الإنتاجية من Adobe المساعدة للمستخدمين منذ عام 1982. ورغم إعجاب المبدعين منذ عشرات الأعوام بتطبيقات Adobe، مثل Photoshop وIllustrator وLightroom، قد يكون تطبيق PDF الذي أطلقته Adobe قبل 30 عامًا تقريبًا هو الأكثر شهرة بين جميع منتجاتها.
لقد أصبح أهم تطبيق من Adobe متوافق مع نظام التشغيل Android على الأجهزة الجوّالة Adobe Acrobat Reader هو التطبيق المجاني الأكثر استخدامًا لعرض مستندات PDF والتوقيع عليها وإضافة التعليقات إليها بكفاءة بعد أن وصل عدد عمليات تنزيله إلى أكثر من 500 مليون عملية تنزيل. ولا تتوقف مطلقًا عمليات التحسين والتطوير التي يتم إجراؤها على هذا التطبيق على الرغم من مرور كل هذه الأعوام منذ إطلاقه. وقال "شبهام غارغ"، عالِم في مجال الكمبيوتر لدى شركة Adobe: "لقد أضفنا خلال العام الماضي عددًا كبيرًا من الميزات إلى التطبيق المتوافق مع Android". ورغم إعجاب المستخدمين بالميزات الجديدة، إلا أنّ الزيادة في حجم التطبيق لم ترُق لهم، ما أدى إلى انخفاض عدد الإحالات الناجحة. وعلّق "شبهام" على هذه المشكلة قائلاً: "تبرز مشكلتا الحجم وانخفاض عدد الإحالات الناجحة في الدول النامية تحديدًا".
الإجراءات التي اتخذتها الشركة
تستخدم Adobe تنسيقات Android App Bundle لخفض حجم تطبيق Acrobat بدون بذل مجهود كبير. وقال "شبهام" عن هذه الخطوة: "كان الانتقال إلى تنسيقات ِAndroid App Bundle سهلاً، فقد كان التطبيق متوافقًا منذ البداية مع الحد الأدنى من المتطلبات لكل من أداة Gradle وحزمة تطوير البرامج (SDK) لنظام التشغيل Android، لذا ما كان علينا سوى إجراء تغييرات بسيطة على الرموز للتوافق مع هذه التنسيقات". وأضاف قائلاً: "بعد أن نقلنا بأمان نسخة من مفتاح توقيع التطبيق إلى Google، أصبح من السهل طرح إصدارات جديدة من التطبيق بحجم منخفض".
بالإضافة إلى استخدام حِزم التطبيق، قررت شركة Adobe تقسيم عدّة ميزات في التطبيق إلى وحدات منفصلة لخفض حجم التطبيق بشكل أكبر. وعلّق "شبهام" قائلاً: "كنا نستخدم وحدات متعددة بمثابة مكتبات لموارد التطبيق، ولكن مع ظهور ما يُعرف باسم "الميزات الديناميكية"، تعرّفنا على طريقة جديدة للاستفادة من تقسيم الميزات إلى وحدات منفصلة، إذ يمكن عرض المحتوى داخل التطبيق بشكل مستقل بدون الاعتماد على ميزات معيّنة في وقت التجميع وبالتالي تتوفّر إمكانية تثبيت تلك الميزات في وقت لاحق".
كانت ميزة Fill & Sign (التعبئة والتوقيع) هي الميزة الأولى التي تم تقسيمها. وباستخدام "التقديم الديناميكي"، لم تعد Adobe بحاجة إلى تضمين كل مورد متعلق بكثافة الشاشة وبلغة معيّنة في كل ملف بتنسيق APK. ولأنّ الفريق كان قد انتهى من تقسيم ملفات APK القديمة المتوافقة مع Android بالاستناد إلى بنية التطبيق، لم يكن بحاجة إلى اتخاذ أي خطوات أخرى لجعل تلك الملفات متوافقة مع حِزم التطبيق.
النتائج
باستخدام حِزم التطبيق و"التقديم الديناميكي"، تم خفض حجم تطبيق Acrobat بمقدار 15 ميغابايت، أي ما يعادل من 22% إلى 25% من حجم التطبيق. وعلى بعض الأجهزة، تم خفض حجم التطبيق بشكل أكبر، وذلك بمقدار 30% تقريبًا. ونجحت عملية طرح التطبيق بعد إجراء تلك التغييرات وعلّق "شبهام" على ذلك قائلاً: "لم يحدث أي تراجع في الأداء وكانت عمليات تنزيل التطبيق تتم بسلاسة". وأعاد "شبهام" الفضل في ذلك جزئيًا إلى سهولة إجراء الاختبارات: "لقد اعتمدنا على ميزة "مشاركة التطبيقات مع الفريق الداخلي" التي أتاحت لنا تجربة التطبيقات على "متجر Play" وتحميل تطبيقات يمكن تصحيح الأخطاء فيها بدون الحاجة إلى إصدار عدّة نسخ".
يساهم استخدام حِزم التطبيقات أيضًا في توفير الوقت لفِرق العمل لأنّه يتطلّب تحميل عنصر واحد فقط على Google Play. وقال "شبهام": "كان علينا قبل ذلك استخدام 4 أنواع مختلفة من الملفات بتنسيق APK، مقسَّمةً وفق بنية التطبيق". أمّا الآن، أصبح بالإمكان استخدام حِزمة واحدة فقط. وشهدت عمليات التثبيت ارتفاعًا بمقدار يتراوح من 5% إلى 7%، وانخفض عدد المستخدمين الذين يشتكون من حجم التطبيق.
في ما يخص "التقديم الديناميكي"، قال "شبهام": "لقد انخفض حجم التطبيق وأصبح أسرع في التنزيل". وقبل استخدام طريقة تقسيم التطبيق إلى وحدات منفصلة، كان فريق العمل يحمّل 4 أنواع مختلفة من الملفات بتنسيق APK مع كل إصدار. ولأنّ كل ملف APK له رمز إصدار مختلف، كان على فريق العمل قياس مؤشرات الأداء والإحصاءات بشكل منفصل، وهي مهمة مرهقة وعرضة للكثير من الأخطاء. أمّا بعد أن بدأ فريق العمل في استخدام حِزم التطبيق، فقد أصبح كل ما على الفريق فعله هو تحميل عنصر واحد فقط برمز إصدار واحد فقط. وعلّق "شبهام" على ذلك قائلاً: "لقد ساعدنا هذا على تبسيط عملية التطوير ويمكننا الآن مشاركة إصدارات فردية مع المختبِرين تتوافق مع جميع الأجهزة".
تحدّث "شبهام" عن الهدف التالي قائلاً: "نريد إجراء تجارب باستخدام ميزات التقديم المشروط للتعرّف على مزايا خفض حجم التطبيق أو التقديم الديناميكي لميزات معيّنة من خلال استهداف شرائح محدّدة من الجمهور".
البدء
يستطيع جميع مطوِّري التطبيقات والألعاب استخدام تنسيقات Android App Bundle. يمكنك البدء الآن.