पब्लिश होने की तारीख: 20 मई, 2025
जब किसी वेब प्लैटफ़ॉर्म की सुविधा को हर ब्राउज़र में लागू किया जाता है, तो वह Baseline Newly available बन जाती है. 30 महीने बाद, वह सुविधा Baseline Widely available बन जाती है. यह एक ऐसा थ्रेशोल्ड है जिसमें ज़्यादातर वेबसाइटें, कंपैटिबिलिटी से जुड़ी समस्याओं के बिना सुविधाओं को अपना सकती हैं. इस गाइड में, Baseline का इस्तेमाल करने का तरीका बताया गया है. साथ ही, यह भी बताया गया है कि अपनी वेबसाइट के उपयोगकर्ताओं से मिले डेटा का इस्तेमाल करके, Baseline टारगेट कैसे चुना जाए.
Baseline टारगेट क्या होता है?
Baseline टारगेट, वेब की उन सुविधाओं का ग्रुप होता है जिन्हें डेवलपर, Baseline की स्थिति के आधार पर इस्तेमाल कर सकते हैं. Baseline टारगेट दो तरह के होते हैं: मूविंग टारगेट और फ़िक्स्ड टारगेट.
मूविंग टारगेट, जैसे कि Baseline Widely available या Baseline Newly available, ऐसे टारगेट होते हैं जिनमें सुविधाओं का सेट समय के साथ बदल सकता है. मूविंग टारगेट उन मामलों में काम के होते हैं जहां ब्राउज़र के नए वर्शन रिलीज़ होने पर, इस्तेमाल की जा सकने वाली सुविधाओं का सेट अपने-आप अपडेट हो जाता है.
फ़िक्स्ड टारगेट वे होते हैं जिनमें सुविधाओं का सेट समय के साथ नहीं बदलता. आम तौर पर, फ़िक्स्ड टारगेट कैलेंडर के सालों पर आधारित होते हैं. उदाहरण के लिए, Baseline 2023 एक फ़िक्स्ड टारगेट है. इसमें वेब की उन सुविधाओं का सेट शामिल है जो 2023 में Baseline Newly available बनी थीं. Baseline 2023 में, 2023 के बाद Baseline बनी सुविधाएं शामिल नहीं होंगी. इसका मतलब है कि Baseline 2023 की सुविधाओं का सेट कभी नहीं बदलता.
फ़िक्स्ड टारगेट उन मामलों में काम के होते हैं जहां अनुमान और डिटरमिनिज़म सबसे अहम होते हैं. हालांकि, ये समय के साथ पुराने हो सकते हैं. इसलिए, फ़िक्स्ड टारगेट का इस्तेमाल करते समय, अपने टारगेट का नियमित तौर पर फिर से आकलन करना ज़रूरी है.
टारगेट क्यों चुना जाए?
वेब पर सुविधाओं को इसलिए नहीं अपनाया जाता, क्योंकि कंपैटिबिलिटी से जुड़ी समस्याएं होती हैं. इस वजह से, वेब उतना अच्छा नहीं बन पाता जितना बन सकता है. Baseline से न सिर्फ़ ब्राउज़र में सुविधाओं के इस्तेमाल से जुड़े सवाल का जवाब मिलता है, बल्कि यह कब कुछ सुविधाओं का इस्तेमाल किया जा सकता है, इस सवाल का जवाब देने में भी मदद मिल सकती है. अपनी ऑडियंस और ज़रूरतों के हिसाब से टारगेट चुनकर, उस टारगेट ग्रुप में शामिल सुविधाओं का इस्तेमाल किया जा सकता है. इसके लिए, हर सुविधा को अलग-अलग तौर पर जांचने की ज़रूरत नहीं होती.
अपना Baseline टारगेट चुनने के लिए डेटा का इस्तेमाल करना
सही Baseline टारगेट चुनना, जहां तक हो सके, डेटा पर आधारित फ़ैसला होना चाहिए. जब आपके पास डेटा होता है, तो टारगेट चुनना आसान हो जाता है और सोच-समझकर फ़ैसला लिया जा सकता है.
अगर आपकी साइट के लिए, रीयल यूज़र मॉनिटरिंग (आरयूएम) का डेटा उपलब्ध है, तो यह जाना जा सकता है कि Baseline टारगेट, आपके उपयोगकर्ताओं के लिए कैसे काम करते हैं. उदाहरण के लिए, अगर Google Analytics का इस्तेमाल किया जाता है, तो Google Analytics Baseline Checker का इस्तेमाल करके, यह जानकारी मुफ़्त में पाई जा सकती है.
इस टूल का इस्तेमाल करने के लिए, आपको अपने Google खाते से पुष्टि करनी होगी. साथ ही, टूल को Google Analytics का डेटा देखने के लिए, सिर्फ़ पढ़ने की अनुमति देनी होगी. इसके बाद, Google Analytics की वह प्रॉपर्टी चुनें जिसके लिए Baseline टारगेट का डेटा जनरेट करना है. ये चरण पूरे करने के बाद, आपको इस तरह का आउटपुट मिलेगा:
हमें दूसरे टूल में Baseline के लिए सहायता दिखनी शुरू हो गई है. इससे आपको यह पता चल सकता है कि आपकी ऑडियंस का कितना हिस्सा, किसी दिए गए टारगेट के साथ कंपैटिबल है. उदाहरण के लिए, RUMvision में एक डैशबोर्ड शामिल है. इससे पता चलता है कि आपकी ऑडियंस का कितना हिस्सा, हर Baseline साल के साथ कंपैटिबल है.

अगर मेरे Analytics या आरयूएम सेवा देने वाली कंपनी के पास, अब तक Baseline टारगेट की रिपोर्ट नहीं है, तो क्या होगा?
अगर Analytics या आरयूएम के किसी ऐसे टूल का इस्तेमाल किया जा रहा है जो अब तक Baseline टारगेट की रिपोर्ट नहीं देता है, लेकिन उसके पास ब्राउज़र के वर्शन का डेटा है, तो baseline-browser-mapping मॉड्यूल से, ब्राउज़र के वर्शन की मैपिंग के साथ अपने असली डेटा को जोड़ा जा सकता है. इस मॉड्यूल में एक JavaScript फ़ंक्शन - getAllVersions() - शामिल है. यह फ़ंक्शन, ब्राउज़र के नाम और वर्शन के हिसाब से, उन्हें Baseline के साल और Widely available के लिए कंपैटिबिलिटी की स्थिति के साथ मैप करता है. इन मैपिंग को, अरे, की-वैल्यू पेयर वाले ऑब्जेक्ट या CSV के तौर पर उपलब्ध कराया जा सकता है. उदाहरण के लिए, Google Analytics Baseline Checker, Analytics के डेटा को Baseline टारगेट के साथ जोड़ने के लिए इस मॉड्यूल का इस्तेमाल करता है.
इस फ़ंक्शन के आउटपुट, होस्ट की गई JSON या CSV फ़ाइलों के तौर पर भी उपलब्ध होते हैं. इन्हें हर दिन अपडेट किया जाता है. all_versions_with_supports.csv फ़ाइल में ऐसा डेटा होता है जिसे Analytics सेवा देने वाली कंपनियों के ब्राउज़र वर्शन के डेटा से मैच किया जा सकता है. इसके लिए, इन फ़ील्ड का इस्तेमाल किया जा सकता है:
browser: ब्राउज़र का वह नाम जिसका इस्तेमालbaseline-browser-mappingमें किया गया हैversion: ब्राउज़र का वर्शन. कुछ ब्राउज़र सिर्फ़ मेजर वर्शन नंबर का इस्तेमाल करते हैं, जबकि अन्य major.minor वर्शन नंबर का इस्तेमाल करते हैं.year: Baseline के साल की वह सुविधा सेट जिसे ब्राउज़र का यह वर्शन इस्तेमाल कर सकता है. अगर ब्राउज़र का कोई वर्शन, जुलाई 2015 में Baseline की कंपैटिबिलिटी तय किए जाने से पहले रिलीज़ किया गया था, तो इस फ़ील्ड मेंpre_baselineशामिल होगाsupports: इस फ़ील्ड में, उन ब्राउज़र वर्शन के लिएwidelyयाnewlyशामिल होता है जो उन सुविधा सेट के साथ कंपैटिबल हैं. साथ ही, उन वर्शन के लिए यह फ़ील्ड खाली होता है जो इनमें से किसी भी सुविधा सेट के साथ कंपैटिबल नहीं हैं. ब्राउज़र के वे सभी वर्शन जो Newly available के साथ कंपैटिबल हैं, वे Widely available के साथ भी कंपैटिबल हैं.release_date: ब्राउज़र का यह वर्शन रिलीज़ होने की तारीख. यह जानकारी उपलब्ध होने पर ही दिखती है.engine: Baseline के मुख्य ब्राउज़र के डाउनस्ट्रीम में मौजूद ब्राउज़र के लिए, इंजन का नाम. इसमें सिर्फ़ Blink पर आधारित ब्राउज़र शामिल हैं. हालांकि, आने वाले समय में अन्य ब्राउज़र इंजन भी शामिल किए जा सकते हैं.engine_version: क्रोमियम का वह वर्शन जिसे ब्राउज़र का यह वर्शन लागू करता है. इसका इस्तेमाल यह तय करने के लिए किया जाता है कि डाउनस्ट्रीम वर्शन, Baseline के किस सुविधा सेट के साथ कंपैटिबल है.
इस फ़ाइल को अक्सर अपडेट किया जाता है, क्योंकि ब्राउज़र के नए वर्शन रिलीज़ होते रहते हैं और अलग-अलग ब्राउज़र की कंपैटिबिलिटी की स्थिति बदलती रहती है. पक्का करें कि डेटा को हर दिन रीफ़्रेश किया जाए.
अगर मेरे पास असली उपयोगकर्ताओं से मिला कंपैटिबिलिटी का डेटा नहीं है, तो क्या होगा?
ऐसा हो सकता है कि Baseline की सुविधाओं के लिए, असली उपयोगकर्ताओं का डेटा न मिल पाए. अच्छी बात यह है कि आरयूएम Archive Insights की मदद से, Baseline के अलग-अलग टारगेट के लिए कंपैटिबिलिटी का सामान्य आइडिया पाया जा सकता है. साथ ही, देश के लेवल पर फ़िल्टर भी किया जा सकता है. हालांकि, यह डेटा आपकी वेबसाइट के उपयोगकर्ताओं के लिए खास नहीं होगा. यह एक सामान्य जानकारी देने वाला टूल है. इससे पता चलता है कि ये अनुमान आम तौर पर सही होते हैं:
- Baseline के नए टारगेट—जैसे कि मौजूदा साल या उससे पिछला साल—के साथ, आपके उपयोगकर्ताओं के बीच कंपैटिबिलिटी की दर सबसे कम हो सकती है. हालांकि, समय के साथ-साथ, हर Baseline टारगेट के साथ कंपैटिबिलिटी की दर बेहतर होती जाएगी.
- Baseline के पुराने टारगेट—खास तौर पर, Baseline Widely available—के साथ कंपैटिबिलिटी की दर अच्छी होगी. जब भी संदेह हो, Widely available एक बेहतरीन टारगेट है. यह 30 महीने की विंडो के दौरान, समय के साथ-साथ बेहतर होता जाता है.
- Baseline के और भी पुराने टारगेट—जो 30 महीने की Widely available विंडो से काफ़ी पुराने हैं—के साथ कंपैटिबिलिटी की दर सबसे अच्छी होगी. Widely available, डिफ़ॉल्ट तौर पर एक अच्छा टारगेट है. हालांकि, खास इस्तेमाल के मामलों में, एसएलए की सख्त ज़रूरत होती है.
ऐसा हो सकता है कि पांच साल से ज़्यादा पुराने Baseline टारगेट को चुनने पर भी, उन सुविधाओं को अपनाया जा सके जिनका इस्तेमाल फ़िलहाल नहीं किया जा रहा है. सबसे अच्छी स्थिति में, हो सकता है कि इन सुविधाओं का इस्तेमाल पहले से किया जा रहा हो. हालांकि, इनके लिए पोलीफ़िल की ज़रूरत न हो.
मैं अपने प्रोजेक्ट में, चुने गए Baseline टारगेट को कैसे लागू करूं?
Browserslist, उन ब्राउज़र को टारगेट करने का एक आम तरीका है जिनके साथ कंपैटिबिलिटी चाहिए. इसका इस्तेमाल बंडलर और अन्य संबंधित टूल में किया जाता है. जैसे, Babel और PostCSS. इससे यह तय किया जाता है कि कोड के कुछ हिस्सों को ट्रांसफ़ॉर्म करने या पोलीफ़िल करने की ज़रूरत है या नहीं.
अब Browserslist के साथ Baseline का इस्तेमाल किया जा सकता है. इससे, Baseline टारगेट चुनने पर, उसे Browserslist की मान्य क्वेरी के तौर पर तय किया जा सकता है. इससे यह पक्का होता है कि आपके प्रोजेक्ट में मौजूद टूल, चुने गए टारगेट के हिसाब से कोड को ट्रांसफ़ॉर्म करें. ज़्यादा जानकारी के लिए, Baseline के साथ Browserslist का इस्तेमाल करना लेख पढ़ें.
उन सुविधाओं के बारे में क्या जो मेरे Baseline टारगेट के साथ कंपैटिबल नहीं हैं?
Baseline टारगेट चुनने के बाद, हो सकता है कि कुछ ऐसी सुविधाएं हों जिनका इस्तेमाल करना हो, लेकिन वे उस टारगेट के साथ कंपैटिबल न हों. Baseline से यह पता नहीं चलता कि इस मामले में क्या करना चाहिए. साथ ही, इन सुविधाओं का इस्तेमाल करना है या नहीं, यह इस बात पर निर्भर करता है कि किस तरह की वेबसाइट बनाई जा रही है और ऑडियंस कौन है.
उदाहरण के लिए, ई-कॉमर्स या बी2बी वेबसाइटें, कंपैटिबिलिटी के लिए कम थ्रेशोल्ड रख सकती हैं और उपयोगकर्ताओं की समस्याओं को हल कर सकती हैं. वहीं, सरकारी वेबसाइटों के लिए, कंपैटिबिलिटी का थ्रेशोल्ड ज़्यादा हो सकता है. यहां एक अहम नियम यह है कि वेब की सभी सुविधाएं, एक ही तरह से काम नहीं करती हैं. सुविधाओं को उनके काम न करने के तरीके के आधार पर, कई तरह से कैटगरी में बांटा जा सकता है. हालांकि, काम की हो सकने वाली सुविधाओं को इस तरह से बांटा जा सकता है:
- बेहतर बनाने वाली सुविधा: अगर इस सुविधा का इस्तेमाल, ऐसे ब्राउज़र में किया जाता है जो इसके साथ कंपैटिबल नहीं है, तो उपयोगकर्ता अनुभव खराब नहीं होता. उपयोगकर्ता अनुभव थोड़ा खराब हो सकता है, लेकिन ऐसा ज़रूरी नहीं है कि उपयोगकर्ता को इसका पता चले. उदाहरण:
loading="lazy". - जोड़ने वाली सुविधा: यह सुविधा, कुछ ऐसे फ़ायदे देती है जो दिख सकते हैं. जैसे, पेज की स्टाइल में बदलाव या कोई फ़ंक्शनैलिटी. अगर सुविधा कंपैटिबल नहीं है, तो उपयोगकर्ताओं को अंतर का पता नहीं चल सकता. हालांकि, ऐसे ब्राउज़र में तुलना करने पर अंतर का पता चल सकता है जो इस सुविधा के साथ कंपैटिबल है. उदाहरण: सबग्रिड
- ज़रूरी सुविधा: अगर सुविधा कंपैटिबल नहीं है, तो उपयोगकर्ता अनुभव खराब होगा. ऐसा भी हो सकता है कि सुविधा पूरी तरह से काम न करे. उदाहरण: फ़ाइल सिस्टम ऐक्सेस एपीआई का इस्तेमाल, एक ज़रूरी और मुख्य सुविधा के तौर पर किया जाता है.
ऐसा भी हो सकता है कि आपके टारगेट से बाहर की कुछ सुविधाएं, आपकी उम्मीद से बेहतर तरीके से काम करें. यह जाना जा सकता है कि आपके कितने उपयोगकर्ता, किसी खास सुविधा के साथ कंपैटिबल हैं. Can I Use में, Analytics के डेटा के हिसाब से, अलग-अलग सुविधाओं की कंपैटिबिलिटी की जांच की जा सकती है. RUMvision में, सुविधा के लेवल का डेटा भी देखा और एक्सप्लोर किया जा सकता है. अगर यह आपके लिए काम का है, तो इसका इस्तेमाल किया जा सकता है.
इस तरह, Baseline टारगेट का इस्तेमाल करके, उन सुविधाओं की संख्या कम की जा सकती है जिनके बारे में आपको ध्यान से सोचना होगा. आपको अपने टारगेट में शामिल सभी सुविधाओं के बारे में चिंता करने की ज़रूरत नहीं है. अगर आपके टारगेट से बाहर एक या दो ऐसी सुविधाएं हैं जो आपके लिए बहुत काम की हैं, तो आपके पास उन्हें एक्सप्लोर करने और यह तय करने के लिए टूल हैं कि उन्हें पोलीफ़िल करना है या प्रोग्रेसिव एनहांसमेंट के तौर पर इस्तेमाल करना है.
नतीजा
हर वेब ऐप्लिकेशन की अलग-अलग ज़रूरतें होती हैं. जैसे, ई-कॉमर्स साइट, कंपैटिबिलिटी से जुड़ी ज़्यादा समस्याओं को झेल सकती है. वहीं, सरकारी वेबसाइट, ज़्यादा से ज़्यादा उपयोगकर्ताओं के लिए उपलब्ध और चालू होनी चाहिए. ये कैलकुलेशन आपको खुद करनी होंगी. Baseline का मकसद यह नहीं है कि नए वेब फ़ीचर को अपनाने के लिए, आपको क्या फ़ैसले लेने चाहिए. हालांकि, यह कैसे फ़ैसले लेने चाहिए, इसके बारे में जानकारी देता है.