رسم الأرض

Peter Conn
Peter Conn

هناك قدر لا بأس به من المنظومة المتكاملة حول أنشطة الويب الموثوق بها وقد يكون من الصعب جدًا ورؤية مدى ارتباط كل شيء وما يجب أن تستخدمه. ونأمل أن تتناول هذه المقالة ذلك.

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

  • Bubblewrap: أداة NodeJS تتيح للمطوّرين إنشاء وإنشاء حِزمة APK لنظام التشغيل Android يتطلب تطبيق ويب تقدّمي (PWA) حالي. التطبيق الذي تم إنشاؤه مدعوم من قِبل "أنشطة الويب الموثوق بها"، ولكن هذا بشفافية مطور البرامج. لا يُشترط توفّر خبرة في تطوير تطبيقات Android. راجِع مستندات فقاعة المحادثة للبدء.
  • android-browser-helper: مكتبة Android تتضمّن أنشطة الويب الموثوق بها والبروتوكول. يُنصح به للمطوّرين الذين لديهم دراية بتطوير تطبيقات Android ويريدون استخدام برنامج "الويب الموثوق به". الأنشطة كإحدى الأنشطة في تطبيق Android أو إجراء عمليات تخصيص غير مدعومة من Bubblewrap. لبدء استخدام android-browser-helper، يُرجى الاطّلاع على المستندات والعروض التوضيحية.

يقدم القسم التالي ملخصًا موجزًا لجميع المشروعات فيما يتعلق ببعضها البعض. وأخيرًا (للمحبي حقًا) هناك قسم للتاريخ يوضح لكم كيف وصلنا إلى هنا وأين وصلنا إليه الذي نخطط لتنفيذه في المستقبل القريب.

نظرة عامة على المكتبات

فيما يلي ملخص قصير بجملة واحدة لكل مكتبات قد ينتهي بك الأمر باستخدامها:

  • androidx.browser، وهي مكتبة Android للتفاعل مع المتصفح المثبّت على إصدار الخاص بك.
  • Android Browser Helper: مكتبة تستند إلى androidx.browser في "النشاط الموثوق به على الويب" العملاء على توفير طرق ملائمة وافتراضيات معقولة.
  • فقاعة تفسيرية، وهي أداة لإنشاء أنشطة ويب موثوقة من تطبيقات الويب التقدّمية (PWA) بدون لمس أي لغة Java الرمز.

بالإضافة إلى ذلك، تحل كل من هذه المكتبات/الأدوات محل المكتبة القديمة:

السجلّ

مكتبة دعم Android

توسّع مكتبة دعم Android النظام الأساسي Android من خلال واجهات برمجة التطبيقات وعمليات التوافق الجديدة. الجديدة. وهي مقسّمة على عدة حِزم، حيث تحتوي مكتبة دعم علامات التبويب المخصّصة على وظيفة التفاعل مع المتصفحات على نظام المستخدم. تم تطوير مكتبة دعم علامات التبويب المخصصة بشكل أساسي من خلال برنامج custom-tabs-client مستودع GitHub، مع إعادة بث التغييرات إلى مكتبة دعم Android

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

نظرًا لأن أنشطة الويب الموثوق بها تستند إلى علامات التبويب المخصصة، فقد بدأت نشاطها في مكتبة custom-tabs-client هذه. تعمل "أنشطة الويب الموثوقة" على إزالة الشريط العلوي لعلامات التبويب المخصّصة عندما يتصفّح المستخدم موقعًا إلكترونيًا يملكه الخاص بتطبيقك. وهذا يفتح الأبواب للدمج السلس لموقعك في تطبيق Android أصلي، استخدامها لإنشاء تطبيقات يوفر فيها الويب جميع الوظائف.

AndroidX

تم تغيير العلامة التجارية Android Support Library لاحقًا لتصبح AndroidX، وهي جزء من جهدًا أكبر لتحسين تجربة المطوّرين، اسمه JetPack. لذلك، كان يجب نقل علامات التبويب المخصَّصة والأنشطة الموثوق بها على الويب من مكتبة دعم علامات التبويب المخصَّصة إلى الإصدار الجديد من androidx.browser.

كانت بعض التعليمات البرمجية التي كتبناها في custom-tabs-client مناسبة لمكتبة برامج موثوق بها فئات مساعد "النشاط على الويب"، ولكن ليس لواجهة برمجة تطبيقات Android. يشير هذا المصطلح إلى رمز برمجي يتعامل مع التحقّق من إصدارات Chrome القديمة ومطالبة المستخدم بالتحديث أو لا يمكن نقل اتخاذ قرارات بشأن كيفية تخزين البيانات إلى AndroidX. لذلك، أنشأنا مكتبة بديلة لتحتوي على هذه الأجزاء من custom-tabs-client التي لا يستطيع الانتقال إلى androidx.browser، ومن ثم تم إنشاء مساعد متصفح Android.

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

  • يحتوي androidx.browser على الوحدات الأساسية للتفاعل مع المتصفحات على نظام المستخدم.
  • يحتوي مساعد متصفح Android على عمليات تنفيذ تلقائية ملائمة وسهلة الاستخدام.

تجميع عينات عشوائية لتوقّع النتائج

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

الأول (والأقدم) هو svgomg-twa، وهو مشروع Android يستضيفه GitHub ويطلق نشاط موثوق به على الويب. تم تصميمه في الأصل ليكون مشروعًا تجريبيًا تطور إلى أكثر من قالب. يمكن للمستخدمين إنشاء نسخة طبق الأصل من هذا الملف وتعديله build.gradle للإشارة إلى موقعهم الإلكتروني. وإنشاء نشاط موثوق به على الويب بدون لمس أي رمز Java. (يتطلب إثبات ملكية روابط مواد العرض الرقمية المزيد من الجهد. يُرجى الاطّلاع على المزيد من المعلومات هنا).

بدأ svgomg-twa اعتمادًا على برنامج علامات التبويب المخصصة، ثم انتقل بعد ذلك إلى نظام Android مساعد المتصفح (بالإضافة إلى androidx.browser).

أحدث أداة وأكثرها جاذبية هي Bubblewrap، وهي أداة Node.js تأخذ تطبيق الويب الخاص بك. بيان وإنشاء نشاط موثوق به على الويب لك. وهذه هي أسهل طريقة لإنشاء نشاط موثوق به على الويب من تطبيق ويب تقدّمي (PWA) حالي ولا تتطلّب أي معرفة بتطوير تطبيقات Android.

المستقبل القريب

سنوقف ملف svgomg-twa نهائيًا لسببَين:

  • تعمل أداة Bubblewrap بشكل أساسي على إنشاء svgomg-twa معبأ لمطوّر البرامج. ويتم ذلك بشكل تفاعلي ويمكن أن يأخذ الإعدادات من بيان تطبيق الويب (الذي يستخدم تطبيق الويب التقدّمي PWA) لديك بالفعل).
  • إذا كان المطورون يريدون مرجعًا لكيفية بدء مشروعهم الخاص بنشاط الويب الموثوق به من يمكنه الاطّلاع على دليل العروض التوضيحية لـ "مساعد Google" على متصفّح Android.

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

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