الحلقة 28: من تأليف "مارك كوغان" في باريس بفرنسا (كانون الثاني/يناير 2022)
الحلقات السابقة
في العام 2022، سيحتفل متصفّح Chrome على أجهزة iOS بالذكرى العاشرة لإنشائه. يُعد Chrome أحد أكثر تطبيقات iOS استخدامًا على نطاق واسع، فهو حاليًا تطبيق الأداة رقم 2 في متجر التطبيقات بالولايات المتحدة.
يوفّر Chrome على أجهزة iOS جميع ميزات Chrome الرائعة التي يحبها المستخدمون، بما في ذلك المزامنة، والترجمة، ووضع التصفّح المتخفي، و"مدير كلمات المرور"، والملء التلقائي، وغير ذلك الكثير. يتكامل Chrome على iOS أيضًا مع ميزات iOS الأصلية، مثل النوافذ المتعددة والملء التلقائي لكلمات المرور على مستوى الجهاز.
ومع ذلك، هناك أمر واحد رئيسي يجعل متصفّح Chrome على نظام التشغيل iOS مختلفًا جدًا عن جميع عمليات تنفيذ أنظمة Chrome الأساسية الأخرى.
لا يستخدم متصفح Chrome على نظام التشغيل iOS تطبيق Blink.
بسبب قواعد Apple App Store، على Chrome على أجهزة iOS استخدام واجهات برمجة التطبيقات للنظام الأساسي iOS لجلب محتوى الويب وعرضه. ولذلك، يستخدم Chrome على iOS WebKit وNitro وCFNetwork حيث تستخدم أنظمة Chrome الأساسية الأخرى Blink وV8 و//net
. ولهذا السبب، وواجهة برمجة التطبيقات المحدودة المتاحة لتطبيقات iOS للتفاعل مع محتوى صفحات الويب، يتم تنفيذ العديد من ميزات Chrome التي تستخدم واجهات //content
API في Chrome على أجهزة iOS باستخدام حقن JavaScript.
تم تنظيم الميزات من عدّة منصات في //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 بلغة Objective-C++ (مزيج من C++ وObjective-C)، إلى جانب بعض Swift.
- على الرغم من أنّه يمكنك تجميع متصفّح Chrome وتشغيله على نظام التشغيل iOS مباشرةً على جهاز iOS، يمكنك أيضًا تطوير العديد من الميزات باستخدام محاكي الأجهزة الفعّالة جدًا الذي توفِّره شركة Apple.
بدء استخدام Chrome على أجهزة iOS
ستحتاج إلى ما يلي:
- جهاز كمبيوتر macOS 64 بت يعمل بنظام macOS 11.3 أو إصدار أحدث يتوافق 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، يُرجى الرجوع إلى المستندات المتعلقة بالتجريدات المهمة وهياكل البيانات.