Blink इंटेंट क्या हैं?

जब इंजीनियर Blink रेंडरिंग इंजन में कोई बदलाव करना चाहते हैं, तो वे आगे बढ़ने की अनुमति पाने के लिए, blink-dev मेलिंग सूची पर पोस्ट करते हैं. ईमेल पाने वालों की सूची में शामिल लोगों को भेजी जाने वाली इन पोस्ट को ब्लिंक इंटेंट कहा जाता है.

Chromium पर आधारित वेब ब्राउज़र, कोड और संसाधनों को ऐसे वेब पेजों में बदलने के लिए Blink रेंडरिंग इंजन का इस्तेमाल करते हैं जिन्हें देखा और जिनसे इंटरैक्ट किया जा सकता है.

blink-dev की मेलिंग सूची.

जानें कि Blink इंटेंट कैसे काम करते हैं, ये क्यों अहम हैं, और Blink में नई सुविधाएं कैसे आती हैं.

Chromium एक ओपन-सोर्स ब्राउज़र प्रोजेक्ट है. इस पर Chrome और कुछ अन्य ब्राउज़र और फ़्रेमवर्क बनाए गए हैं. Blink, रेंडरिंग इंजन है. इसका इस्तेमाल Chromium करता है.

Blink में किसी नई सुविधा को शामिल करने के लिए, उसे Chromium प्रोजेक्ट की ओपन डेवलपमेंट प्रोसेस से गुज़रना होगा. "नई सुविधा" का मतलब है, ब्राउज़र कोड या आर्किटेक्चर में कोई बदलाव या जोड़. यह कोई नया JavaScript API हो सकता है, Blink कोड में परफ़ॉर्मेंस में काफ़ी बढ़ोतरी हो सकती है या ब्राउज़र के दिखने या काम करने के तरीके में कोई दूसरा बदलाव हो सकता है.

सभी के लिए उपलब्ध और साथ मिलकर काम करने की प्रोसेस

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

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

उपयोगकर्ताओं के लिए, ब्राउज़र वेंडर को यह ध्यान रखना होगा कि बदलावों की वजह से वेबसाइटें काम करना बंद न कर दें. साइट के मालिक अक्सर वेबसाइटों को मैनेज करना बंद कर देते हैं. कुछ साइटों को कई दशकों से अपडेट नहीं किया गया है! ब्राउज़र वेंडर को इस बात का ध्यान रखना चाहिए कि वे ऐसे बदलाव न करें जिनकी वजह से कोई समस्या हो.

आइडिया से लेकर प्रस्ताव तक

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

उदाहरण: FedCM

Federated Credential Management (FedCM) एक ऐसा एपीआई है जो उपयोगकर्ता के साइन अप और लॉगिन को मैनेज करने वाले प्लैटफ़ॉर्म के लिए, नए और बेहतर तरीके उपलब्ध कराता है. इसे फ़ेडरेटेड आइडेंटिटी कहा जाता है. उदाहरण के लिए, जब "Google से साइन इन करें" या "GitHub से साइन इन करें" को चुना जाता है.

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

GitHub पर FedCM के बारे में जानकारी.

जब किसी प्रस्ताव को स्टैंडर्ड तय करने वाली संस्था, जैसे कि W3C से मंज़ूरी मिल जाती है, तो वेब स्टैंडर्ड ग्रुप में हिस्सेदारी रखने वाले लोग, W3C के वर्किंग ग्रुप जैसे ग्रुप में चर्चाओं में शामिल हो सकते हैं और प्रज़ेंटेशन देख सकते हैं.

जब इंजीनियर किसी नई सुविधा या Blink रेंडरिंग इंजन में बदलाव पर काम कर रहे होते हैं, तो वे हर माइलस्टोन के लिए blink-dev डिस्कस ग्रुप पर एक पोस्ट पब्लिश करते हैं. इसमें वे बताते हैं कि वे किसी सुविधा को लागू करने के अगले चरण पर जाने वाले हैं. इन पोस्ट को "इंटेंट" कहा जाता है. Blink में नई सुविधाओं के उपलब्ध होने पर सूचना पाने के लिए, कोई भी व्यक्ति blink-dev ग्रुप की सदस्यता ले सकता है. इसके अलावा, अपडेट पाने के लिए किसी एक सुविधा की सदस्यता भी ली जा सकती है.

प्रोटोटाइप बनाने का मकसद: पहला चेकपॉइंट

इस चरण के बाद, Chromium के इंजीनियर किसी सुविधा को लागू करना शुरू कर सकते हैं. इसका मतलब है कि इस सुविधा के प्रोटोटाइप को सुविधा के फ़्लैग के पीछे, डेवलपर की जांच के लिए उपलब्ध कराया जा सकता है. शुरुआत में, इसे Chrome Canary में और फिर रिलीज़ के अन्य चैनलों में उपलब्ध कराया जाएगा. कोई भी उपयोगकर्ता, अपने ब्राउज़र में किसी सुविधा को चालू करने और उसकी जांच करने के लिए, chrome://flags पेज से फ़्लैग सेट कर सकता है.

हालांकि, chrome://flags पेज से सभी फ़्लैग सेट नहीं किए जा सकते. ज़्यादा बेहतर कंट्रोल के लिए, कमांड-लाइन फ़्लैग का इस्तेमाल करके, टर्मिनल से Chrome चलाया जा सकता है. ध्यान रखें कि कुछ नई सुविधाएं तब तक उपलब्ध नहीं होतीं, जब तक वे Chrome Canary में टेस्टिंग के लिए रिलीज़ नहीं की जातीं. हालांकि, ऐसा बहुत कम होता है. कुछ सुविधाओं के लिए कोई फ़्लैग नहीं होता. हालांकि, experimental-web-platform-features फ़्लैग चालू होने पर, वे सुविधाएं उपलब्ध हो जाती हैं. आम तौर पर, ऐसा "छोटी" सुविधाओं के लिए होता है, जिन्हें लागू करने में ज़्यादा से ज़्यादा तीन से छह महीने लगते हैं.

प्रोटोटाइप के बारे में सुझाव, राय या शिकायतें पाना

किसी नई सुविधा का प्रोटोटाइप तैयार होने के बाद, Chromium के इंजीनियर उस पर चर्चा करने और उसे आज़माने के लिए न्योता देते हैं. इस समय सुझाव, शिकायत या राय देना ज़रूरी है, ताकि हम आपके सुझावों की पुष्टि कर सकें और उन पर काम कर सकें. Chrome में इस सुविधा को लागू करने के बारे में टिप्पणी करने के लिए, Chromium के बग पर जाएं.

Chromium समस्या ट्रैकर में कोई समस्या बनाएं.

एक्सपेरिमेंट करने का मकसद: असल दुनिया में टेस्ट करना

अगर Chrome के इंजीनियर ऑरिजिन ट्रायल चलाने का अनुरोध करना चाहते हैं, तो blink-dev पर 'प्रयोग करने का इंटेंट' पोस्ट करना ज़रूरी नहीं है.

FedCM के लिए एक्सपेरिमेंट करने का इंटेंट.

ऑरिजिन ट्रायल, वेब प्लैटफ़ॉर्म की नई या एक्सपेरिमेंट के तौर पर शुरू की गई सुविधा को टेस्ट करने का एक तरीका है. किसी सुविधा के ऑरिजिन ट्रायल के लिए रजिस्टर करने पर, आपको ट्रायल के लिए एक टोकन मिलता है. यह सुविधा, टोकन देने वाले किसी भी पेज पर चालू हो जाएगी.

Chrome के ऑरिजिन ट्रायल की उपलब्ध सूची.

किसी सुविधा को लागू करने की प्रोसेस को आगे बढ़ाने के लिए, Blink API के मालिकों को अपनी अनुमति देनी होगी. इसके लिए, उन्हें किसी इंटेंट का जवाब "मुझे ठीक लग रहा है" पोस्ट करके देना होगा. इसे LGTM कहा जाता है.

Blink API के मालिक, Chromium के योगदान देने वाले लोगों का एक छोटा ग्रुप है. वे वेब प्लैटफ़ॉर्म और उसके एपीआई के बारे में काफ़ी जानकार होते हैं. साथ ही, Blink कम्यूनिटी ने उन्हें इस बात के लिए मंज़ूरी दी है कि वे Blink के मिशन और वैल्यू के लिए प्रतिबद्ध हैं. एपीआई के मालिक, Blink इंटेंट की प्रोसेस को खुद मॉनिटर करते हैं. साथ ही, वे सुविधाओं को लागू करने की अनुमति देते हैं या नहीं!

एक्सपेरिमेंट के इंटेंट को एपीआई के मालिकों से कम से कम एक 'ठीक है' का निशान मिलना चाहिए.

FedCM के एक्सपेरिमेंट के बारे में पोस्ट पर LGTM.

ऑरिजिन ट्रायल की वैल्यू

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

शिप करने का इंटेंट: आखिरी माइलस्टोन

'रिलीज़ करने का इंटेंट' सिग्नल से पता चलता है कि कोई सुविधा अब पूरी हो गई है और इसे सामान्य तौर पर उपलब्ध कराने के लिए लागू किया जा सकता है. यह सुविधा, Chrome के स्टैबल वर्शन का इस्तेमाल करने वाले सभी उपयोगकर्ताओं के लिए उपलब्ध होगी. इसके लिए, उन्हें किसी फ़्लैग या ट्रायल टोकन की ज़रूरत नहीं होगी. शिपिंग के इंटेंट को लागू करने से पहले, एपीआई के मालिकों से तीन LGTM मिलना ज़रूरी है.

नई सुविधाएं रोल आउट की जा रही हैं

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

सुविधा के लाइफ़साइकल को मैनेज करना: बंद करना और हटाना

Blink इंटेंट दो अन्य तरह के होते हैं:

  • बंद करने का इरादा
  • कॉन्टेंट हटाने का अनुरोध

ऐसा लग सकता है कि ये थोड़े बुरे हैं, लेकिन Blink के डेवलपमेंट की सफलता के लिए ये ज़रूरी हैं.

जब इंजीनियर, डेवलपर को यह चेतावनी देना चाहते हैं कि किसी सुविधा को बंद करने के लिए शेड्यूल किया गया है, तब वे बंद करने का इंटेंट पोस्ट करते हैं. उदाहरण के लिए, Chrome DevTools कंसोल में, बंद होने के बारे में सहायता और जानकारी देकर.

जब इंजीनियर कोड को डिफ़ॉल्ट रूप से बंद करना चाहते हैं, तब हटाने का इंटेंट पोस्ट किया जाता है.

blink.dev पर, इस्तेमाल बंद करने के इरादे से एलजीटीएम.

किसी सुविधा को बंद करने और हटाने की अहमियत

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

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

Chrome स्टेटस पर, सुविधाओं की प्रोग्रेस को ट्रैक किया जा सकता है. यहां अपडेट की सदस्यता ली जा सकती है, गड़बड़ियों की शिकायत की जा सकती है, और अन्य संसाधनों को ढूंढा जा सकता है.

chromestatus.com पर, Chrome की सुविधाओं का रोडमैप
.

नई सुविधाओं को ट्रैक करने के लिए, Chromium के ब्लॉग को फ़ॉलो करें. blink-dev डिस्कस ग्रुप में शामिल होकर, Blink इंटेंट के बारे में अप-टू-डेट जानकारी पाएं. इस वजह से, आपको काफ़ी ईमेल मिल सकते हैं! इसके अलावा, आपके पास किसी एक इंटेंट के लिए सदस्यता लेने का विकल्प भी है. Blink इंटेंट की स्प्रेडशीट देखने के लिए, bit.ly/blinkintents पर जाएं. अगर आपको Blink इंटेंट वाकई पसंद हैं, तो अपने-आप काम करने वाली Blink इंटेंट ट्रैकर सेवाओं का इस्तेमाल भी किया जा सकता है.

अगले चरण

Chrome के रिलीज़ चैनल क्या हैं? लेख पढ़ें.