The Chromium Chronicle #28: iOS पर Chrome का इस्तेमाल शुरू करना

एपिसोड 28: फ़्रांस के पेरिस में मार्क कोगन का सफ़र (जनवरी 2022)
पिछले एपिसोड

iOS पर Chrome 2022 में अपनी 10वीं सालगिरह का जश्न मना रहा है. Chrome सबसे ज़्यादा इस्तेमाल किए जाने वाले iOS ऐप्लिकेशन में से एक है—फ़िलहाल, यह यूएस ऐप स्टोर में दूसरे नंबर पर है.

iOS पर Chrome, Chrome की वे सभी बेहतर सुविधाएं उपलब्ध कराता है जिन्हें उपयोगकर्ता पसंद करते हैं. इनमें सिंक करना, अनुवाद करना, गुप्त मोड, Password Manager, अपने-आप जानकारी भरने की सुविधा वगैरह शामिल हैं. iOS पर Chrome, iOS की नेटिव सुविधाओं के साथ भी इंटिग्रेट करता है. जैसे, मल्टी-विंडो (एक से ज़्यादा ऐप, एक साथ कई विंडो) और पूरे डिवाइस में पासवर्ड अपने-आप भरने की सुविधा.

हालांकि, एक बड़ी चीज़ है जो iOS पर Chrome को अन्य सभी Chrome प्लेटफ़ॉर्म से बहुत अलग बनाती है.

iOS पर Chrome, Blink का इस्तेमाल नहीं करता.

Apple के App Store के नियमों की वजह से, iOS पर Chrome को वेब कॉन्टेंट फ़ेच और रेंडर करने के लिए, iOS प्लैटफ़ॉर्म एपीआई का इस्तेमाल करना पड़ता है. इसलिए, iOS पर Chrome, WebKit, Nitro, और CFNetwork का इस्तेमाल करता है, जहां अन्य Chrome प्लैटफ़ॉर्म Blink, V8, और //net का इस्तेमाल कर रहे हैं. इस वजह से, iOS ऐप्लिकेशन में वेब पेज के कॉन्टेंट से इंटरैक्ट करने के लिए सीमित एपीआई उपलब्ध है. इसलिए, //content एपीआई का इस्तेमाल करने वाली 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.

iOS और अन्य प्लैटफ़ॉर्म पर Chrome के बीच अन्य महत्वपूर्ण अंतरों में ये शामिल हैं:

  • iOS ऐप्लिकेशन का सिर्फ़ एक बार प्रोसेस होना ज़रूरी है. इसलिए, iOS पर Chrome fork() नहीं कर सकता.
  • iOS पर Chrome को Objective-C++ (C++ और Objective-C का मिक्स) में कुछ स्विफ़्ट के साथ लिखा गया है.
  • iOS डिवाइस पर Chrome को सीधे किसी iOS डिवाइस पर कंपाइल किया जा सकता है और चलाया जा सकता है. हालांकि, Apple की ओर से उपलब्ध कराए जा सकने वाले डिवाइस सिम्युलेटर में काफ़ी सुविधाएं जोड़ी जा सकती हैं.

iOS पर Chrome का इस्तेमाल शुरू करना

आपको इनकी ज़रूरत होगी:

  • ऐसा macOS कंप्यूटर, जो 64-बिट या macOS 11.3 या इसके बाद के वर्शन पर काम करता हो. Apple Silicon का इस्तेमाल किया जा सकता है.
  • Xcode, Apple प्लैटफ़ॉर्म के लिए IDE का वर्शन 13.0 या इसके बाद का वर्शन.
  • JDK का मौजूदा वर्शन.

अधिक जानकारी के लिए बिल्ड बनाने के निर्देश देखें.

सोर्स को फ़ेच करना, काफ़ी हद तक अन्य प्लैटफ़ॉर्म के जैसा ही होता है:

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

इसके बाद, कमांड लाइन (या Xcode से) से इन्हें बनाया जा सकता है:

autoninja -C out/Debug-iphonesimulator chrome

iOS पर Chrome की सुविधा डेवलप करने के बारे में ज़्यादा जानें

हमारा सुझाव है कि आप Chromium स्टाइल गाइड देखें. Swift, xCode, और iOS के लिए बने अन्य संसाधनों के बारे में ज़्यादा जानने के लिए, Apple के डेवलपर दस्तावेज़ पढ़ें.

अगर आप आम तौर पर iOS डेवलपर हैं और Chromium आपके लिए नया है, तो ज़रूरी ऐब्स्ट्रैक्शन और डेटा स्ट्रक्चर से जुड़ा दस्तावेज़ देखें.