प्रोग्रेसिव वेब ऐप्लिकेशन के ऑफ़लाइन होने पर सहायता पाने की सुविधा को बेहतर बनाना

Penny McLachlan
Penny McLachlan

प्रोग्रेसिव वेब ऐप्लिकेशन (PWA), मोबाइल और डेस्कटॉप डिवाइसों के लिए वेब टेक्नोलॉजी का इस्तेमाल करके, आधुनिक और इंस्टॉल किए जा सकने वाले ऐप्लिकेशन बनाने का एक पैटर्न है.

मॉडर्न वेब ऐप्लिकेशन बनाने के लिए, यह ज़रूरी है कि ऐप्लिकेशन ऑफ़लाइन होने पर भी काम करता रहे. यह शर्त, पीडब्ल्यूए के लिए भी लागू होती है. इसका मतलब है कि अगर उपयोगकर्ता के डिवाइस पर नेटवर्क का ऐक्सेस नहीं है, तो उसे Chrome Dino वाली स्क्रीन नहीं दिखेगी!

PWA से जुड़ी सभी शर्तों का मकसद यह पक्का करना है कि वेब ब्राउज़ करते समय, लोगों को ऐप्लिकेशन जैसा बेहतरीन अनुभव मिले. Chrome, किसी PWA को इंस्टॉल करने की सुविधा चालू करने से पहले, PWA की ज़रूरी शर्तों की जांच करता है.

सिर्फ़ ऐसे ऐप्लिकेशन को Chrome से डिवाइस पर इंस्टॉल किया जा सकता है जो प्रोग्रेसिव वेब ऐप्लिकेशन इंस्टॉल करने से जुड़ी सभी ज़रूरी शर्तों को पूरा करते हैं. इनमें ऑफ़लाइन मोड के लिए सहायता उपलब्ध होना भी शामिल है.

ऑफ़लाइन होने पर पता लगाने का पिछला लॉजिक

ऑफ़लाइन सहायता की पुष्टि करना, कई सालों से PWA इंस्टॉल करने की ज़रूरी शर्तों का हिस्सा रहा है. हाल ही में, Chrome में सर्विस वर्कर के ज़रिए अनुरोधों को सिम्युलेट करने की सुविधा नहीं थी. इसलिए, ऑफ़लाइन होने पर सही तरीके से काम करने की पूरी जांच नहीं की जा सकती थी.

सर्विस वर्कर का डायग्राम

इसका मतलब है कि Chrome के पास यह पुष्टि करने की सुविधा नहीं थी कि ऑफ़लाइन जांच के दौरान, fetch इवेंट हैंडलर ने एचटीटीपी 200 के साथ मान्य संसाधन वापस भेजा है या नहीं. Chrome ने सिर्फ़ यह जांच की कि सर्विस वर्कर के पास fetch हैंडलर है या नहीं.

ऑफ़लाइन मोड में धोखाधड़ी का पता लगाने के लॉजिक को अपडेट किया गया

Chrome 89 में, सर्विस वर्कर के ज़रिए ऑफ़लाइन अनुरोधों को सिम्युलेट करने की सुविधा जोड़ी गई है. इससे, ऑफ़लाइन होने का पता लगाने की बेहतर सुविधा मिलती है. साथ ही, ऐप्लिकेशन के ऑफ़लाइन होने पर काम करने की सुविधा के बारे में बेहतर तरीके से पता चलता है.

हमने इस नई सुविधा का इस्तेमाल यह पक्का करने के लिए करने का प्लान बनाया था कि ऑफ़लाइन होने पर, PWAs एक मान्य पेज उपलब्ध कराएं. हालांकि, हमने इन प्लान को रोक दिया है. अगर पेज में ऐसा सर्विस वर्कर है जिसमें fetch इवेंट हैंडलर शामिल है, तो इंस्टॉल करने की सुविधा की जांच पास हो जाएगी.

डेवलपर के लिए इसका क्या मतलब है?

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

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

डेवलपर टूल के समस्याएं टैब में दिखने वाली चेतावनी, Chrome 90 के आस-पास हटा दी जाएगी.