पेश है Chrome Dev Insider

Ben Galbraith
Ben Galbraith

डेवलपर अक्सर हमें बताते हैं कि वेब पर होने वाले बदलावों को समझना और यह जानना कि ये बदलाव क्यों हो रहे हैं, मुश्किल है. आज हम Chrome Dev Insider नाम की एक नई सीरीज़ शुरू कर रहे हैं. इसमें हम (1) आपको ऐसी जानकारी देंगे जो दिलचस्प और खबरों में है, (2) किसी अहम विषय पर हमने कैसे फ़ैसला लिया या किसी इकोसिस्टम के साथ काम करने का तरीका क्या है, जैसे कि FLOC में बदलाव या Interop 2022, और (3) ऐसी अहम जानकारी देंगे जिसके बारे में आपको जानना ज़रूरी है, जैसे कि उपयोगकर्ता एजेंट स्ट्रिंग में बदलाव.

हम इस बारे में बताएंगे कि हम किन चीज़ों पर काम कर रहे हैं. यह जानकारी, साल 2022 के लिए हमारी चार प्राथमिकताओं के हिसाब से होगी:

  • उपयोगकर्ताओं को बेहतर अनुभव देना: उपयोगकर्ताओं के लिए चीज़ों को आसान बनाएं. भले ही, वह परफ़ॉर्मेंस, लेन-देन, पहचान या ट्रांज़िशन से जुड़ी हो.
  • वेब की सुविधाओं को बेहतर बनाना: वेब को कॉन्टेंट देखने के प्लैटफ़ॉर्म से, अलग-अलग तरह के अनुभव देने वाले प्लैटफ़ॉर्म में बदलना. इसमें, ऐसे अनुभव भी शामिल हैं जिनके लिए ओएस और हार्डवेयर लेवल पर इंटिग्रेशन की ज़रूरत होती है.
  • वेब डेवलपमेंट को आसान बनाना: इससे फ़ैसले लेने में आसानी होती है और डेवलपर की उत्पादकता बढ़ती है.
  • वेब की निजता को बेहतर बनाना: ट्रैकिंग और टारगेटिंग में डेवलपर की बढ़ती दिलचस्पी के बीच, वेब उपयोगकर्ताओं की निजता की बेहतर सुरक्षा की उम्मीद को पूरा करना.

खबरों में: Interop 2022

रोडमैप बनाते समय, हम डेवलपर के सुझाव, शिकायत या राय देखते हैं. इससे हमें वेब डेवलपर की समस्याओं और ज़रूरतों के बारे में पता चलता है. अलग-अलग ब्राउज़र पर वेबसाइट का काम करना एक मुख्य थीम है. इससे, सभी ब्राउज़र पर वेबसाइट एक जैसी दिखती है. पिछले एक साल से, हम इस समस्या को हल करने के लिए नेटवर्क के साथ काम कर रहे हैं. हमारी प्राथमिकता "वेब डेवलपमेंट को आसान बनाना" है.

पिछले साल, Microsoft, Chrome, और नेटवर्क के अन्य प्लेयर ने Compat 2021 का एलान किया था. इसकी वजह से, सभी लोकप्रिय ब्राउज़र इंजन (Chromium, Gecko, और Webkit) को इस साल के लिए पहचाने गए पांच मुख्य फ़ोकस एरिया में 90% से ज़्यादा स्कोर मिला. Compat 2021 की मदद से, सीएसएस ग्रिड (12% इस्तेमाल और लगातार बढ़ रहा है) और सीएसएस फ़्लेक्सबॉक्स (77% इस्तेमाल) जैसी बेहतर सुविधाओं के लिए एक बेहतरीन आधार तैयार किया गया.

पिछले महीने, Apple, Bocoup, Google, Igalia, Microsoft, और Mozilla ने वेब डेवलपर की बताई गई, ब्राउज़र के साथ काम करने से जुड़ी मुख्य समस्याओं को हल करने के लिए, सहायकों के तौर पर एक साथ काम किया. साथ ही, वे एक सामान्य मानदंड पर सहमत हुए. इसका नतीजा Interop 2022 है. यह एक ऐसा प्रोजेक्ट है जिसका मकसद प्लैटफ़ॉर्म को ज़्यादा एक जैसा बनाना है. यह मानदंड, प्राथमिकता वाले 15 ऐसे एरिया पर फ़ोकस करता है जिन्हें डेवलपर ने अपनी प्रॉडक्टिविटी को बेहतर बनाने के लिए अहम बताया है.

खास जानकारी: ब्राउज़र के दूसरे डेवलपर के साथ मिलकर काम करना

Interop 2022 को ध्यान में रखते हुए, मैंने रॉबर्ट न्यमन और फ़िलिप जैगेंस्टेड से बातचीत की. ये दोनों इस प्रोसेस में शामिल हैं. यहां एडिटर के कट में बताया गया है कि यह वीडियो कैसे तैयार हुआ.

इस पहल की शुरुआत कैसे हुई?

रॉबर्ट: यह सब साल 2019 में शुरू हुआ, जब हमने MDN DNA 2019 सर्वे किया था. वेब के लिए डेवलप करने वाले लोगों के लिए, वर्शन के साथ काम करने से जुड़ी समस्याएं मुख्य समस्या के तौर पर सामने आईं. हमने MDN ब्राउज़र के साथ काम करने से जुड़ी समस्याओं की 2020 की रिपोर्ट में इस बारे में ज़्यादा जानकारी दी है. इससे हमें Compat 2021 शुरू करने के लिए ज़रूरी जानकारी और काम का डेटा मिला. इसकी वजह से, हम उस काम को जारी रख पाए और Interop 2022 के साथ उसके दायरे को भी बढ़ा पाए.

फ़िलिप: मुझे web-platform-tests और State of CSS 2021 के बारे में भी बताना है. हमने पिछले कई सालों से, WPT का इस्तेमाल करके ब्राउज़र की जांच करने के लिए, अन्य ब्राउज़र वेंडर के साथ मिलकर काम किया है. हमें इस पर और भी काम करना था. इन सुविधाओं के लिए टेस्ट, ज़्यादातर पहले से ही लिखे गए थे. इसलिए, हमें सिर्फ़ टेस्ट की समीक्षा करनी थी और कुछ कवरेज जोड़नी थी. Google ने wpt.fyi में काफ़ी निवेश किया है. हालांकि, WPT को आज की सफलता तक पहुंचाने के लिए, हमें Mozilla का भी धन्यवाद करना चाहिए. MDN DNA सर्वे में, Mozilla का भी अहम योगदान रहा. इसके अलावा, सीएसएस 2021 की स्थिति भी है. इंटरऑप 2022 जैसा इवेंट बनाने के लिए, हमें वेब डेवलपर की ज़रूरतों के बारे में नए इनपुट चाहिए. इसलिए, हमने सर्वे मैनेजर साशा के साथ मिलकर, ब्राउज़र के साथ काम करने से जुड़ी समस्याओं के बारे में कुछ नए सवाल शामिल किए हैं. इससे हमें Interop 2022 की प्लानिंग की प्रोसेस में काफ़ी मदद मिली.

क्या आपको Compat 2021 से कोई जानकारी मिली या कोई सुझाव/राय देनी है?

रॉबर्ट: यह जानना काफ़ी मददगार था कि हर ब्राउज़र इंजन की परफ़ॉर्मेंस कैसी है. साथ ही, यह भी जानना काफ़ी मददगार था कि हर ब्राउज़र इंजन को कितना स्कोर मिला और उससे जुड़ी अहम जानकारी क्या है. इससे हम परफ़ॉर्मेंस पर नज़र रख पाते थे और उन समस्याओं पर चर्चा कर पाते थे जो साफ़ तौर पर समझ नहीं आ रही थीं या जिन पर प्राथमिकता से काम करने की ज़रूरत थी. हमें यह भी जल्दी पता चल गया कि "इंटरऑपरेबिलिटी", इस पहल के लिए बेहतर नाम था. काम करने की सुविधा और इंटरऑपरेबिलिटी शब्दों में आम तौर पर ब्राउज़र वेंडर के हिसाब से अंतर किया जाता है. काम करने की सुविधा का मतलब है कि साइट किस तरह के ब्राउज़र पर काम करती है और इंटरऑपरेबिलिटी का मतलब है कि दो या उससे ज़्यादा ब्राउज़र एक जैसे काम करते हैं. इस शब्दावली के हिसाब से, यह प्रोजेक्ट इंटरऑपरेबिलिटी के बारे में है. इसलिए, प्रोजेक्ट को इस नाम के साथ जोड़ा गया है.

हमारा मकसद क्या है?

रॉबर्ट: वेब को ओपन रखने के लिए, ब्राउज़र और रेंडरिंग इंजन की अलग-अलग सुविधाएं होना ज़रूरी है. माफ़ करें, फ़िलहाल हमारे डेवलपर को इसकी कीमत चुकानी पड़ रही है. उन्हें हर इंजन के लिए, सुविधाओं के अलग-अलग लेवल पर सहायता उपलब्ध करानी पड़ रही है. हमारा मकसद है कि डेवलपर अपनी ज़रूरतों के हिसाब से, वेब प्लैटफ़ॉर्म को सबसे सही और आकर्षक विकल्प के तौर पर देखें. साथ ही, वे इंटरऑपरेबिलिटी से जुड़ी समस्याओं को हल करने में ज़्यादा समय बर्बाद करने के बजाय, बेहतरीन अनुभव देने पर फ़ोकस कर पाएं. यह साफ़ तौर पर पता चलता है कि इस लक्ष्य को हासिल करने के लिए, सभी मुख्य ब्राउज़र इंजन में सबसे ज़्यादा मांगी गई सुविधाओं को शामिल करना ज़रूरी है. इससे डेवलपर, वेब प्लैटफ़ॉर्म पर ज़्यादा से ज़्यादा सफल हो पाएंगे.

जब अलग-अलग लक्ष्यों वाले ब्राउज़र एक साथ काम करते हैं, तो हम सभी मिलकर कैसे आगे बढ़ते हैं?

फ़िलिप: हमारा मकसद, एक-दूसरे के काम के विषयों को ढूंढना है. इससे, दोनों पक्षों के लिए फ़ायदेमंद ऐसे सहयोग मिलते हैं जिनके लक्ष्य पहले से ही अलाइन होते हैं. साथ ही, एक साथ काम करने के लिए कुछ चीज़ों को प्राथमिकता देकर, हम उन पर फ़ोकस करते हैं. इससे हम तेज़ी से आगे बढ़ते हैं और बेहतर क्वालिटी का काम करते हैं. यही तरीका अपनाएं.

मुझे लगता है कि यह समझना ज़रूरी है कि सहमति पर आधारित इस तरीके की सीमाएं हैं. जहां लक्ष्य पूरी तरह से अलाइन नहीं होते हैं, वहां हमें किसी दूसरे तरीके से आगे बढ़ना होगा. कभी-कभी वेब डेवलपर या उपयोगकर्ता की ज़रूरतों के बारे में ज़्यादा सबूत देने से मदद मिल सकती है. हालांकि, ब्राउज़र वेंडर ऐसी चीज़ें भी शिप कर सकते हैं जिन पर आम सहमति नहीं है. सबसे अच्छे मामले में, वेब डेवलपर इस सुविधा को आज़माकर, इसकी अहमियत दिखाते हैं. इससे उन्हें पता चलता है कि यह सुविधा उनकी ज़रूरतों को पूरा करती है. साथ ही, वे सभी ब्राउज़र में इस सुविधा को उपलब्ध कराने का अनुरोध करते हैं.

Interop 2022 के बारे में बात करते हुए, क्या हमें किसी समय डिज़ाइन या लेआउट से जुड़ी सुविधाओं के अलावा, अन्य सुविधाएं भी दिखेंगी?

फ़िलिप: बिल्कुल! Interop 2022 सिर्फ़ स्टाइल और लेआउट की सुविधाओं तक ही सीमित नहीं था. हालांकि, इसमें सीएसएस का ज़्यादा इस्तेमाल किया गया. ऐसा इसलिए हुआ, क्योंकि State of CSS 2021 हाल ही में रिलीज़ हुआ था. साथ ही, वेब डेवलपर ने हमें बताया कि ब्राउज़र के बीच अंतर की वजह से, उन्हें सबसे ज़्यादा समस्या इसी से जुड़ी थी. फ़ॉर्म और डायलॉग एलिमेंट जैसे कई फ़ोकस एरिया, सीएसएस से परे हैं. साथ ही, एपीआई और पॉइंटर और माउस इवेंट में बदलाव करने के लिए, हमने कुछ जांच की कोशिशें भी की हैं. हमें उम्मीद है कि Interop 2023 के लिए, हमारे पास वेब पर डेवलपर की ज़रूरतों के बारे में ज़्यादा नया डेटा होगा. साथ ही, हम इस तरह की और सुविधाएं भी शामिल करेंगे.

आने वाले समय में होने वाले मुख्य बदलाव

इस सीरीज़ का मकसद, डेवलपर को आने वाले समय में होने वाले अहम बदलावों के बारे में बताना है. ये बदलाव, उपयोगकर्ता अनुभव और प्लैटफ़ॉर्म की सुविधाओं को बेहतर बनाने के लिए ज़रूरी हैं.

नीचे दी गई समयसीमा के मुताबिक, ये बदलाव लागू होंगे. हालांकि, सुविधाओं के रिलीज़ वर्शन बदल सकते हैं.

यूज़र-एजेंट रिडक्शन

User-Agent हेडर और उससे जुड़े JS इंटरफ़ेस, ब्राउज़र और डिवाइस की काम की जानकारी ही नहीं, बल्कि गलत जानकारी और लीगसी भी ट्रांसमिट करते हैं. UA स्ट्रिंग को पार्स करने से जुड़ी गड़बड़ियों की संख्या बहुत ज़्यादा है. हालांकि, इससे भी ज़्यादा समस्या यह है कि सभी नेविगेशन और सब-रिसॉर्स के अनुरोधों के लिए, इसे सर्वर पर पैसिव तरीके से भेजा जाता है. यह एन्ट्रॉपी के करीब 10 बिट दिखाता है. इसका इस्तेमाल, सर्वर वेब पर नेविगेट करने वाले उपयोगकर्ताओं के लिए, स्थिर ट्रैकिंग आइडेंटिफ़ायर बनाने के लिए कर सकते हैं.

हमारा मौजूदा प्लान, ज़्यादा एन्ट्रॉपी वाली जानकारी को फ़्रीज़ करके, ब्राउज़र के कम एन्ट्रॉपी वाले मेजर वर्शन, प्लैटफ़ॉर्म के नाम, और मोबाइलनेस को शिप करना जारी रखते हुए, मौजूदा UA स्ट्रिंग को छोटा करना है. ऐसे इस्तेमाल के उदाहरणों के लिए जिनमें हेडर में मौजूद जानकारी के अलावा और जानकारी की ज़रूरत होती है, हम Chrome 89 से User-Agent क्लाइंट हिंट एपीआई को शिप कर रहे हैं.

हमने एक्सपेरिमेंट और सुझाव/राय पाने के लिए, छह महीने तक ऑरिजिन ट्रायल चलाया. हमें खुशी है कि 200 से ज़्यादा लोगों के हिस्सा लेने के बावजूद, हमें ब्रेकेज से जुड़ा कोई सुझाव/राय या शिकायत नहीं मिली.

Local Fonts Access API

Chrome, Local Font Access API लॉन्च कर रहा है. साइटें लंबे समय से लोकल फ़ॉन्ट का इस्तेमाल कर रही हैं. हालांकि, यह एपीआई लोकल फ़ॉन्ट की सूची दिखाता है और फ़ॉन्ट डेटा का ऐक्सेस देता है. इस सुविधा की मदद से, उपयोगकर्ता वेब-आधारित डिज़ाइन और अन्य ऐप्लिकेशन में अपने सभी फ़ॉन्ट इस्तेमाल कर सकते हैं.

लोकल फ़ॉन्ट को फ़िंगरप्रिंट वेक्टर के तौर पर लंबे समय से जाना जाता है. हालांकि, इस नए एपीआई से फ़िंगरप्रिंट के लिए फ़ॉन्ट इस्तेमाल करने की सुविधा नहीं बढ़ती, लेकिन Chrome के लिए ज़रूरी है कि कोई उपयोगकर्ता किसी साइट के लिए नई "local-fonts" अनुमति दे, ताकि वह नए Local Font Access API का इस्तेमाल कर सके.

आने वाले समय में, हम स्थानीय फ़ॉन्ट का ऐक्सेस देने वाले किसी भी अन्य एपीआई का इस्तेमाल करने से पहले, "local-fonts" की वही अनुमति देने की ज़रूरी शर्त लागू करेंगे.

BFCache को Cache-control: no-store के साथ काम करने के लिए सेट अप करना

हमने बैक/फ़ॉरवर्ड कैश मेमोरी की सुविधा को बेहतर बनाने के लिए एक अहम अवसर की पहचान की है. इससे, यह सुविधा तुरंत पीछे/आगे नेविगेट करने की सुविधा को कितनी बार दे सकती है, यह तय किया जा सकता है. इसके लिए, Cache-control: no-store HTTP हेडर के साथ दिखाए गए पेजों पर BFCache के काम करने के तरीके में बदलाव करना ज़रूरी है. हमारे पास एक सार्वजनिक प्रस्ताव है. इसे अलग-अलग सिग्नल (उदाहरण के लिए, जब भी सिर्फ़ एचटीटीपी वाली कुकी में बदलाव होता है, तब BFCache से पेजों को हटाना) और यूनीक कॉन्टेक्स्ट के लिए अलग-अलग नियमों (उदाहरण के लिए, Enterprise/Edu ग्राहकों के लिए ग्रुप नीति) को मॉनिटर करके, अचानक होने वाले बदलावों से बचाने के लिए बनाया गया है. यह एक मुश्किल, लेकिन दिलचस्प अवसर है. हमें इस बारे में ज़्यादा जानकारी और सुझाव/राय मिलना पसंद होगा!

  • टाइमलाइन: Chrome 104 (जुलाई 2022) को टारगेट किया जा रहा है. हालांकि, इसमें कोई बड़ा बदलाव नहीं होगा.
  • कॉल-टू-ऐक्शन: ज़्यादा जानकारी के लिए, प्रस्ताव देखें. इसमें, काम जारी रखने की सुविधा को चालू करने का तरीका और सुझाव/राय देने के तरीके के बारे में बताया गया है. जैसे, असल स्थितियां जिनमें हमारे तरीके से नई समस्याएं पैदा हो सकती हैं.

मुझे उम्मीद है कि इस सीरीज़ की मदद से, हम डेवलपर कम्यूनिटी को अपनी टीम और उनके काम के करीब ला पाएंगे. इससे उन्हें फ़ोकस करने और जुड़ाव की भावना मिलेगी. इसलिए, ज़्यादा अपडेट के लिए हमारे साथ बने रहें.

तब तक, वेब पर आनंद लें.

आपको Chrome Dev Insider के पहले एडिशन के बारे में क्या कहना है? अपना सुझाव/राय दें या शिकायत करें.