The Chromium Chronicle رقم 28: بدء استخدام Chrome على نظام التشغيل iOS

الحلقة 28: من تأليف "مارك كوغان" في باريس، فرنسا (يناير 2022)
الحلقات السابقة

في عام 2022، سيحتفل متصفّح Chrome على أجهزة iOS بمرور 10 سنوات على إنشائه. يُعد Chrome أحد تطبيقات iOS الأكثر استخدامًا، وهو حاليًا رقم 2 في تطبيق الأداة في متجر App Store بالولايات المتحدة.

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

ومع ذلك، هناك شيء رئيسي يجعل Chrome على نظام التشغيل iOS مختلفًا تمامًا عن جميع تطبيقات أنظمة Chrome الأساسية الأخرى.

لا يستخدم متصفِّح Chrome على نظام التشغيل iOS Blink.

بسبب قواعد App Store من Apple، على متصفّح Chrome على نظام التشغيل iOS استخدام واجهات برمجة تطبيقات النظام الأساسي لنظام التشغيل iOS لجلب محتوى الويب وعرضه. ولذلك يستخدم متصفّح Chrome على نظام التشغيل iOS WebKit وNitro وCFNetwork في حين تستخدم أنظمة Chrome الأساسية الأخرى Blink وV8 و//net. نتيجةً لذلك، يتم تنفيذ العديد من ميزات Chrome التي تستخدم واجهات برمجة التطبيقات //content في متصفّح Chrome على نظام التشغيل iOS من خلال حقن JavaScript، بالإضافة إلى واجهة برمجة التطبيقات المحدودة المتاحة لتطبيقات iOS للتفاعل مع محتوى صفحات الويب.

تم تصميم الميزات من عدّة منصات في //components لمشاركة أكبر قدر ممكن من الرموز البرمجية على جميع الأنظمة الأساسية مع إبقاء تبعيات //content منعزلة:

ls components/some_component

content/        # code with dependencies on //content.
core/           # cross-platform code with no //content dependencies.
ios/            # iOS implementation using JavaScript injection.

تشمل الاختلافات المهمة الأخرى بين Chrome على نظام التشغيل iOS والأنظمة الأساسية الأخرى ما يلي:

  • يجب أن تكون تطبيقات iOS ذات عملية واحدة، لذا لا يمكن لمتصفِّح Chrome على نظام التشغيل iOS إجراء fork().
  • تتم كتابة Chrome على نظام التشغيل iOS بلغة Target-C++ (مزيج من C++ وTarget-C)، إلى جانب بعض أحرف Swift.
  • يمكنك تجميع وتشغيل Chrome على جهاز iOS مباشرةً على جهاز iOS، إلا أنه يمكنك أيضًا تطوير الكثير من الميزات في محاكي الأجهزة ذي الإمكانات الكبيرة الذي توفِّره Apple.

بدء استخدام Chrome على نظام التشغيل iOS

ستحتاج إلى ما يلي:

  • جهاز كمبيوتر يعمل بنظام التشغيل macOS، إصدار 64 بت، يعمل بالإصدار 11.3 من نظام التشغيل macOS أو إصدار أحدث يتوافق Apple Silicon.
  • Xcode، بيئة تطوير البرامج (IDE) لمنصات Apple، الإصدار 13.0 أو الإصدارات الأحدث.
  • الإصدار الحالي من JDK.

يمكنك الاطّلاع على تعليمات الإصدار للحصول على مزيد من المعلومات.

يشبه جلب المصدر إلى حد كبير الأنظمة الأساسية الأخرى:

mkdir ${HOME}/chromium-ios
cd ${HOME}/chromium-ios
fetch ios

بعد ذلك، يمكنك الإنشاء من سطر الأوامر (أو من Xcode):

autoninja -C out/Debug-iphonesimulator chrome

مزيد من المعلومات عن تطوير ميزات متصفِّح Chrome على نظام التشغيل iOS

وننصحك بالرجوع إلى دليل نمط Chromium. اقرأ وثائق مطوّري برامج Apple لمعرفة مزيد من المعلومات حول Swift وxCode وغيرها من الموارد الخاصة بنظام التشغيل iOS.

إذا كنت عادةً مطوّرًا لنظام التشغيل iOS ومستخدمًا جديدًا لمتصفِّح Chromium، يُرجى الاطّلاع على المستندات الخاصة بالتجريدات وبُنى البيانات المهمة.