تمنح المتصفّحات داخل التطبيق المستخدمين تجربة ويب كاملة بدون الحاجة إلى مغادرة تطبيقك. يقدّم Android واجهتَي برمجة تطبيقات أساسيتَين لتنفيذ المتصفّحات داخل التطبيق: علامات التبويب المخصّصة ومكوّنات WebView. استخدِم متصفّحًا داخل التطبيق عندما يكون لديك رابط أو إعلان يؤدي إلى صفحة ويب. يمكنك فتح هذه الصفحة مباشرةً داخل تطبيقك، كما هو موضّح في الشكل 1.
يُعدّ الاختيار بين علامات التبويب المخصّصة ومكوّنات WebView قرارًا معماريًا كبيرًا يؤثر في سرعة التطوير وتجربة المستخدم ومستوى التحكّم في واجهة المستخدم.
مقارنة سريعة
استخدِم الجدول التالي لمساعدتك في تحديد الأداة التي تناسب احتياجاتك:
| الميزة | عرض الويب | علامات التبويب المخصصة |
|---|---|---|
| حالة الاستخدام الأساسية | إنشاء تطبيقات مختلطة تستخدِم الويب كمحتوى أساسي أو داعم، أو عرض الإعلانات أو الحملات داخل التطبيق أو صفحات بنود الخدمة | عرض محتوى من مواقع إلكترونية خارجية (مثل المقالات الإخبارية أو صفحات المنتجات) |
| عنصر تحكّم في واجهة المستخدم | كامل إنّه مكوّن View يمكنك وضعه في أي مكان. يمكنك التحكّم في كل واجهة المستخدم المحيطة. |
محدود يمكنك تخصيص لون شريط الأدوات وإضافة بعض الإجراءات المخصّصة. |
| البيانات والجلسات | محدودة لا تشارك ملفات تعريف الارتباط أو عمليات تسجيل الدخول مع المتصفّح الرئيسي للمستخدم. | مشتركة تستخدِم جلسة المتصفّح التلقائي للمستخدم، بما في ذلك ملفات تعريف الارتباط وكلمات المرور المحفوظة. |
| جسر التواصل بين التطبيق المحلي والويب | نعم يمكنك استخدام جسر JavaScript للتواصل الثنائي الاتجاه بين محتوى الويب ورمز التطبيق المحلي. | محدود يمكنك استخدام طريقة window.postMessage() لتمرير السلاسل الأساسية. |
| جهد المطوّر | عالي عليك إدارة دورة الحياة والتنقّل والأداء بنفسك. | منخفض يمكنك تنفيذها ببضعة أسطر فقط من الرموز. |
عرض الويب
مكوّن WebView هو طريقة عرض تجعل صفحات الويب جزءًا أساسيًا من تصميم تطبيقك. إنّه فعّال، ولكنّ التعامل معه أكثر تعقيدًا بعض الشيء مقارنةً بعلامات التبويب المخصّصة.
يمكن لمكوّن WebView تحميل محتوى الويب البعيد أو المحلي وتنفيذ JavaScript وتفعيل التواصل الثنائي الاتجاه بين محتوى الويب ورمز التطبيق الأصلي. لمزيد من المعلومات عن إمكاناته، اطّلِع على مقالة إمكانات مكوّن WebView.
يمكنك أيضًا استخدام WebView لتقديم تطبيق ويب أو عرض صفحة ويب على الإنترنت كجزء من تطبيقك. على سبيل المثال، اتفاقية المستخدم النهائي التي عليك تعديلها بشكل دوري. لمزيد من المعلومات، اطّلِع على مقالة إنشاء تطبيقات ويب في WebView.
أسباب اختيار WebView
في ما يلي بعض السيناريوهات التي يكون فيها WebView خيارًا جيدًا:
- التطبيقات المختلطة: أنت تنشئ تطبيقًا يتضمّن محتوى ويب ومكوّنات محلية (مثل شريط التنقّل أو زر الإجراء الرئيسي) جنبًا إلى جنب.
- محتوى الطرف الأول: محتوى الويب هو جزء أساسي وتفاعلي من تجربة التطبيق، مثل محرِّر مستندات أو لوحة تصميم.
- التحكّم الكامل في واجهة المستخدم: عليك تعديل محتويات صفحة الويب نفسها أو إضافة عناصر واجهة مستخدم محلية فوقها.
- تحليلات معمقة: أنت بحاجة إلى إحصاءات تفصيلية عن تفاعل المستخدمين ونشاطهم داخل عرض الويب.
المفاضلات الرئيسية
في ما يلي بعض المفاضلات الرئيسية التي يجب مراعاتها عند استخدام WebView:
- الأداء: يمكن أن يستهلك WebView قدرًا كبيرًا من الذاكرة. إذا لم تتم إدارته بعناية، قد تواجه مشاكل في الأداء أو أخطاء "التطبيق لا يستجيب".
- الأمان والصيانة: أنت مسؤول عن تعزيز الأمان وإدارة دورة الحياة. ومع ذلك، يتم طرح تحديثات WebView على مستوى العالم من خلال Google Play، لذا لا داعي للقلق بشأن أن يصبح المحرّك الأساسي قديمًا.
علامات التبويب المخصصة
تُعدّ علامات التبويب المخصّصة خيارًا رائعًا لتوجيه المستخدمين إلى عناوين URL خارجية، لأنّها توفّر نافذة متصفّح سريعة وآمنة وسهلة الاستخدام تنزلق فوق تطبيقك.
أسباب اختيار علامات التبويب المخصصة
في ما يلي بعض السيناريوهات التي تكون فيها علامات التبويب المخصّصة خيارًا جيدًا:
- الروابط الخارجية: عندما ينقر المستخدم على رابط يؤدي إلى موقع إلكتروني لا تملكه، تحافظ علامات التبويب المخصّصة على سياق تطبيقك مع توفير تجربة متصفّح بوظائف كاملة.
- سهولة التكامل: إنّها الطريقة الأسهل لإعداد تجربة ويب مضمّنة وعرضها.
- الحالة المشترَكة: بما أنّها تشارك ملفات تعريف الارتباط مع المتصفّح التلقائي للمستخدم، لا يحتاج المستخدمون إلى تسجيل الدخول مرة أخرى إلى المواقع الإلكترونية التي سبق لهم زيارتها.
- تسجيل الدخول إلى المنتجات التابعة لجهات خارجية: إنّها مناسبة تمامًا لعمليات تسجيل الدخول إلى المنتجات التابعة لجهات خارجية (مثل "تسجيل الدخول باستخدام حساب Google" أو "تسجيل الدخول باستخدام حساب Facebook") لأنّ المتصفّح يتعامل مع بيانات الاعتماد بأمان.
على الرغم من أنّ معظم المتصفّحات تتيح استخدام علامات التبويب المخصّصة، يقدّم بعضها خيارات تخصيص أكثر من غيرها. لمزيد من المعلومات، اطّلِع على مقالة المتصفّحات المتوافقة.
استخدام محتوى الويب في Jetpack Compose
يمكنك استخدام كل من علامات التبويب المخصّصة ومكوّن WebView عند الإنشاء باستخدام Jetpack Compose:
- علامات التبويب المخصّصة: بما أنّ علامات التبويب المخصّصة تستخدِم
Intent، يمكنك تشغيلها من أيContextفي دوال Compose، ما يؤدي إلى تكامل سلس. - WebView: لا يتضمّن Compose بعد مكوّن WebView أصليًا، لذا عليك
استخدام
AndroidViewلتضمين مكوّن WebView عادي في تصميمك.
مراجع إضافية
لتطوير صفحات ويب للأجهزة التي تعمل بنظام التشغيل Android باستخدام واجهات برمجة تطبيقات WebView أو علامات التبويب المخصّصة، اطّلِع على المستندات التالية:
- تضمين محتوى الويب في تطبيقك كمحتوى أساسي أو داعم
- مرجع واجهة برمجة التطبيقات: WebView
- نظرة عامة على علامات التبويب المخصّصة
- نظرة عامة على الأنشطة الموثوق بها على الويب
- المتصفّحات المتوافقة