أضافت Google واجهة برمجة التطبيقات (API) التي تتيح لمشغلات الطرف الثالث مثل Nova Launcher عرض المزيد من الرسوم المتحركة الانتقالية المرنة. هواتف Pixel فقط هي التي تمتلكها الآن.
في الماضي، غالبًا ما كانت تطبيقات Launcher التابعة لجهات خارجية تقدم تجربة رائعة لمشغل الأسهم الموجود في معظم هواتف Android. ومع تجديد شاشة التطبيقات الحديثة وإدخال الإيماءات في Android 9 Pie، تم وضع قاذفات الطرف الثالث في وضع غير مؤات حيث تم دمج هذه التجارب الجديدة في المخزون التطبيق قاذفة. بمرور الوقت، حاولت Google جعل تجربة إطلاق الطرف الثالث ليست سيئة جدًا عند استخدام الإيماءات، وقد بدأت بالفعل في تحقيق النجاح في هذا مؤخرًا.
إذا كنت قد استخدمت إصدارًا تجريبيًا حديثًا من Nova Launcher على هاتف Google Pixel في الأشهر القليلة الماضية، فربما لاحظت الرسوم المتحركة المرنة عند استخدام التنقل بالإيماءات. لسوء الحظ، لن ترى نفس هذه الرسوم المتحركة عند استخدام Nova Launcher على أي جهاز آخر، على الأقل في الوقت الحالي. لفهم سبب حاجتنا أولاً إلى شرح ما يميز قاذفات الطرف الثالث مثل Nova Launcher عن قاذفات الأسهم مثل Pixel Launcher من Google.
قدمت Google لأول مرة التنقل بالإيماءات في أندرويد 9 باي. من أجل جعل الإيماءات تبدو سلسة قدر الإمكان، احتاجت Google إلى جعل انتقالات التطبيق تبدو سلسة. لقد أرادوا أيضًا السماح للمستخدمين بالوصول إلى قائمة تطبيقاتهم بالكامل من شاشة التطبيقات الحديثة. للقيام بكلا الأمرين، قررت جوجل نقل الكود الذي يتعامل مع شاشة التطبيقات الحديثة من نظام أندرويد SystemUI إلى Launcher3، تطبيق Launcher مفتوح المصدر لنظام Android والذي تشعبت منه معظم مشغلات مخزون OEM. وهكذا، خطوة سريعة وُلد المكون، ونظرًا لطبيعته المميزة، يسمح Android فقط بتعيين تطبيق Launcher المثبت مسبقًا كموفر للتطبيقات الحديثة. هذا يمكن أن يكون تم تجاوزه مع الوصول إلى الجذر إذا كان مشغل الطرف الثالث يدعمه، ولكن بالنسبة لمعظم المستخدمين، فهذا يعني أن تطبيق مشغل الطرف الثالث سيعتمد دائمًا على مشغل المخزون للتعامل مع الإيماءات وشاشة التطبيقات الحديثة. يمكن أن تكون النتيجة، كما جربها معظمكم، غير جيدة بعض الشيء، مع انتقالات لا تبدو سلسة أو سلسة. هذا ما لم تكن تستخدم هاتف Google Pixel.
في معظم هواتف Google Pixel، توجد واجهة برمجة التطبيقات (API) التي يمكن لمشغلات الطرف الثالث استخدامها لجعل الانتقال من التطبيق إلى الشاشة الرئيسية يبدو أكثر أصالة. بعض تطبيقات Launcher التابعة لجهات خارجية مثل قاذفة نياجرا ويستفيد Nova Launcher المذكور أعلاه من واجهة برمجة التطبيقات هذه، على الرغم من أن الأخير لا يتضمنها إلا في نظامه إصدارات v7 قيد التطوير. عند استخدام واجهة برمجة التطبيقات هذه، يتلقى تطبيق Launcher التابع لجهة خارجية نية ورد اتصال من QuickStep عندما يقوم المستخدم بإجراء تمرير سريع لإيماءة العودة إلى المنزل. يمكن لمشغل الطرف الثالث بعد ذلك أن يلمح إلى نظام الإيماءات حول كيفية تحريك النافذة أثناء تصغيرها على أيقونة التطبيق.
فيما يلي مثال لما يبدو عليه هذا الأمر في Niagara Launcher، بإذن من مطور المشغل 8bitpit:
وإليك مقارنة توضح كيف تبدو الرسوم المتحركة على هاتف أسوس روج 5 و جوجل بيكسل 4، كلاهما يعمل بنظام التشغيل Nova Launcher v7.0.25 (أحدث إصدار تجريبي في وقت النشر) ونظام التشغيل Android 11:
\r\n https://www.youtube.com/watch? v=equ-8yDw_Do\r\n
ربما تتساءل الآن: هل واجهة برمجة التطبيقات هذه حصرية لهواتف Google Pixel؟ الجواب هو لا، ليس كذلك. تعد واجهة برمجة التطبيقات (API) جزءًا من Launcher3/QuickStep و يمكن العثور عليها في AOSP، مما يعني أنه مفتوح لأي تطبيق مشغل OEM. بينما API كان ملتزمًا بـ Launcher3 داخليًا في 21 يوليو 2020، يبدو أنه كان كذلك تم دمجها في فرع AOSP الرئيسي مع إصدار Android R QPR1 في ديسمبر.
أخبرنا كيفن باري، مطور Nova Launcher وأحد أوائل من اكتشفوا واجهة برمجة التطبيقات هذه، أنه يشتبه في وجود جزء من السبب وراء عدم استخدام مصنعي المعدات الأصلية لواجهة برمجة التطبيقات (API) هذه في شوكات Launcher3 الخاصة بهم هو أنها جاءت متأخرة قليلاً في إصدار Android 11 دورة. يتطلب الأمر قدرًا كبيرًا من الجهد لدمج تغييرات AOSP الكبيرة، ومن المؤكد أن تحديث Android R QPR1 يحتوي على الكثير منها. في السنوات الماضية، كنا نطلق على هذه التعليمات البرمجية اسم "إصدار الصيانة"، لكن Google لم تعد تفعل ذلك بعد الرفض من الشركات المصنعة الأصلية (أو هكذا سمعت). ولهذا السبب يطلق نظام LineageOS، وهو نظام التشغيل ROM المخصص لنظام Android الشهير، على أحدث إصدار له "نظام تشغيل لينيج 18.1" بدلاً من "LineageOS 18" للإشارة إلى أن ROM يعتمد على أحدث قاعدة بيانات لنظام Android 11 بدلاً من إصدار Android 11 الأولي.
تجدر الإشارة أيضًا إلى أن واجهة برمجة التطبيقات هذه لا يمكن الوصول إليها إلا على هواتف Google Pixel بعد إسقاط ميزة البكسل لشهر ديسمبر، والذي يتزامن مع إصدار Android R QPR1 العام. وعلى الرغم من حصول Pixel 2 على ذلك التحديث النهائي في ديسمبر، لم يتضمن هذا التحديث قاعدة بيانات Android R QPR1، ولهذا السبب لا يتمتع مالكو Pixel 2 الذين يستخدمون Nova Launcher v7 بنفس التجربة التي تتمتع بها هواتف Pixel الأخرى. (يمكن لمالكي Pixel 2 تحميل إصدار أحدث من Pixel Launcher الذي يحتوي على واجهة برمجة التطبيقات من جهاز Pixel أحدث، ولكن تشير تقارير المستخدم الرسوم المتحركة لا تزال عربات التي تجرها الدواب حتى لو كانت تعمل من حين لآخر. للتذكير، تم إنشاء Pixel Launcher أعلى Launcher3 تمامًا مثل معظم قاذفات الأسهم، ولكنه يتضمن أيضًا بعض الميزات الحصرية لـ Pixel.)
إذن ما الذي يتطلبه الأمر لإضافة واجهة برمجة التطبيقات هذه إلى أجهزة Android الأخرى؟ لسوء الحظ، لا توجد إجابة سهلة على ذلك، لأننا لا نعرف بالضبط كيف تقوم كل شركة تصنيع أصلية بتطوير تطبيق الإطلاق الخاص بها. نظرا لكيفية تتحكم Google بإحكام في التنقل عبر الإيماءات بملء الشاشة، نعتقد أن معظم مصنعي المعدات الأصلية لا يقومون بتعديل التعليمات البرمجية المتعلقة بالإيماءات و/أو QuickStep بشكل كبير. ما لم يبذل مصنع المعدات الأصلية قصارى جهده للتراجع عن الالتزام أو كسر الكود أو رفض التحديث Launcher3، إذن يجب أن نرى إضافة واجهة برمجة التطبيقات (API) هذه إلى مشغلات OEM عندما يتم إعادة تأسيسها أعلى القادمة أندرويد 12 يطلق. في الواقع، أخبرنا أحد مصنعي المعدات الأصلية الذين تحدثنا إليهم، ASUS، أنهم يخططون لجلب واجهة برمجة التطبيقات هذه في تحديث Android 12 الخاص بهم. لا نعرف ما إذا كانت Google قد أبلغت مصنعي المعدات الأصلية بهذا التغيير، ولكننا نأمل أن يلاحظ المزيد من مصنعي المعدات الأصلية هذا التغيير وقرروا دمج واجهة برمجة التطبيقات (API) في شوكات Launcher3 الخاصة بهم لتحسين تجربة استخدام الطرف الثالث قاذفات.
لكن العمل لن ينتهي عند هذا الحد. حتى بعد تضمين واجهة برمجة التطبيقات هذه، لا يزال هناك المزيد من العمل الذي يجب القيام به لتحقيق التكافؤ بين مشغلات الطرف الثالث ومشغلات OEM. على سبيل المثال، تومض بعض أجهزة OEM عندما ينقر المستخدم على الشاشة قبل ظهور رسم متحرك على الشاشة الرئيسية. في بعض الأحيان، يظهر تطبيق مشغل النظام بدلاً من تطبيق مشغل الطرف الثالث المحدد (لقد حدث هذا معي عدة مرات). تعد الرسوم المتحركة المحسّنة للانتقال أمرًا رائعًا، ولكن لا أحد يريد التعامل مع الأخطاء سواء في تطبيق المشغل أو شاشة التطبيقات الحديثة، لذلك لا يزال رمز الإيماءة يحتاج إلى بعض التنظيف و/أو التوحيد.
شكرًا لكيفن باري وبيتر هوبر لمساعدتهما في هذا المقال!