- प्रोग्रेसिव वेब ऐप्लिकेशन, डेस्कटॉप पर उपलब्ध होंगे
- जेनरिक सेंसर एपीआई की मदद से, एक्सलरोमीटर, जाइरोस्कोप वगैरह जैसे डिवाइस के सेंसर को आसानी से ऐक्सेस किया जा सकता है.
- साथ ही,
BigInt
की मदद से, बड़ी संख्याओं को आसानी से मैनेज किया जा सकता है.
और यहां और भी बहुत कुछ है!
मेरा नाम पीट लेपेज है. चलिए, देखते हैं कि Chrome 67 में डेवलपर के लिए नया क्या है!
क्या आपको बदलावों की पूरी सूची चाहिए? Chromium सोर्स रिपॉज़िटरी में हुए बदलावों की सूची देखें.
डेस्कटॉप के PWA
डेस्कटॉप के लिए प्रोग्रेसिव वेब ऐप्लिकेशन, अब ChromeOS 67 पर काम करते हैं. हमने Mac और Windows के लिए भी इस सुविधा पर काम करना शुरू कर दिया है. इंस्टॉल होने के बाद, ये ऐप्लिकेशन अन्य ऐप्लिकेशन की तरह ही लॉन्च किए जाते हैं. साथ ही, ये ऐप्लिकेशन किसी ऐप्लिकेशन विंडो में चलते हैं. इसमें कोई पता बार या टैब नहीं होता. सर्विस वर्कर यह पक्का करते हैं कि वे तेज़ हों और भरोसे के साथ ऐप्लिकेशन विंडो का अनुभव देते हों. इससे उन्हें जुड़ाव महसूस होता है. साथ ही, इनसे आपके उपयोगकर्ताओं को दिलचस्प अनुभव मिलता है.
इसका इस्तेमाल शुरू करना, आज के समय में पहले से किए जा रहे काम से अलग नहीं है. आपने अपने मौजूदा प्रगतिशील वेब ऐप्लिकेशन के लिए जो भी काम किया है वह अब भी लागू है. आपको बस कुछ अतिरिक्त ब्रेक पॉइंट पर ध्यान देने की ज़रूरत है.
अगर आपका ऐप्लिकेशन, PWA की स्टैंडर्ड शर्तों को पूरा करता है, तो Chrome beforeinstallprompt
इवेंट को ट्रिगर करेगा. हालांकि, यह उपयोगकर्ता को अपने-आप प्रॉम्प्ट नहीं करेगा. इसके बजाय, इवेंट सेव करें. इसके बाद, अपने ऐप्लिकेशन में कुछ यूज़र इंटरफ़ेस (यूआई) जोड़ें. जैसे, ऐप्लिकेशन इंस्टॉल करने का बटन. इससे उपयोगकर्ता को पता चलेगा कि आपका ऐप्लिकेशन इंस्टॉल किया जा सकता है. इसके बाद, जब उपयोगकर्ता बटन पर क्लिक करता है, तो सेव किए गए इवेंट पर कॉल प्रॉम्प्ट दिखता है. इसके बाद, Chrome उपयोगकर्ता को प्रॉम्प्ट दिखाएगा. अगर वे 'जोड़ें' पर क्लिक करते हैं, तो Chrome आपके PWA को उनकी शेल्फ़ और लॉन्चर में जोड़ देगा.
Google I/O में हुई मेरी बातचीत देखें. इसमें जेनी और मैंने, डेस्कटॉप के लिए प्रोग्रेसिव वेब ऐप्लिकेशन बनाते समय, तकनीकी और डिज़ाइन से जुड़ी उन बातों के बारे में बताया है जिन पर आपको ध्यान देना चाहिए.
अगर आपको Mac या Windows पर इस सुविधा का इस्तेमाल करना है, तो डेस्कटॉप पर प्रगतिशील वेब ऐप्लिकेशन पोस्ट पढ़ें. इसमें, फ़्लैग की मदद से इस सुविधा को चालू करने का तरीका बताया गया है.
Generic Sensor API
सेंसर डेटा का इस्तेमाल कई ऐप्लिकेशन में किया जाता है, ताकि इमर्सिव गेमिंग, फ़िटनेस ट्रैकिंग, और ऑगमेंटेड या वर्चुअल रिएलिटी जैसे अनुभव दिए जा सकें. यह डेटा अब Generic Sensor API का इस्तेमाल करने वाले वेब ऐप्लिकेशन के लिए उपलब्ध है.
एपीआई में एक बुनियादी सेंसर इंटरफ़ेस होता है, जिसमें सबसे ऊपर कंक्रीट सेंसर क्लास का एक सेट होता है. बेस इंटरफ़ेस होने से, किसी खास सेंसर क्लास को लागू करने और उसके बारे में जानकारी देने की प्रोसेस आसान हो जाती है. उदाहरण के लिए, जाइरोस्कोप क्लास बहुत छोटी है!
const sensor = new Gyroscope({frequency: 500});
sensor.start();
sensor.onreading = () => {
console.log("X-axis " + sensor.x);
console.log("Y-axis " + sensor.y);
console.log("Z-axis " + sensor.z);
};
मुख्य फ़ंक्शन, बेस इंटरफ़ेस से तय होता है. वहीं, Gyroscope सिर्फ़ कोणीय वेग दिखाने वाले तीन एट्रिब्यूट के साथ इसे बढ़ाता है. Chrome 67, ऐक्सीलेरोमीटर, जायरोस्कोप, ओरिएंटेशन सेंसर, और मोशन सेंसर के साथ काम करता है.
Intel ने सामान्य सेंसर एपीआई के कई डेमो और सैंपल कोड को एक साथ रखा है. साथ ही, उन्होंने सितंबर से Sensors for the Web! की पोस्ट को भी अपडेट किया है. इसमें आपके काम की सभी जानकारी मौजूद है.
BigInt
सेकंड
BigInt
, JavaScript में नंबर वाले नए प्रिमिटिव हैं जो बिना किसी शर्त के पूरी तरह से सटीक पूर्णांक दिखा सकते हैं. JavaScript में, बड़े पूर्णांक आईडी और सटीक टाइमस्टैंप को Numbers
के तौर पर सुरक्षित तरीके से नहीं दिखाया जा सकता. इस वजह से, अक्सर असल दुनिया में गड़बड़ियां होती हैं. इसलिए, हम अक्सर ऐसी संख्याओं को स्ट्रिंग के तौर पर दिखाते हैं.
let max = Number.MAX_SAFE_INTEGER;
// → 9_007_199_254_740_991
max = max + 1;
// → 9_007_199_254_740_992 - Yay!
max = max + 1;
// → 9_007_199_254_740_992 - Uh, no?
BigInt
की मदद से, हम पूरी सुरक्षा के साथ पूर्णांक को सेव कर सकते हैं और ओवरफ़्लो किए बिना, पूर्णांक के हिसाब-किताब की प्रोसेस कर सकते हैं. फ़िलहाल, बड़ी संख्याओं के साथ काम करने के लिए, आम तौर पर हमें ऐसी लाइब्रेरी का इस्तेमाल करना पड़ता है जो BigInt
जैसी सुविधाओं को एमुलेट करती हो.
let max = BigInt(Number.MAX_SAFE_INTEGER);
// → 9_007_199_254_740_991n
max = max + 9n;
// → 9_007_199_254_741_000n - Yay!
जब BigInt
सभी के लिए उपलब्ध हो जाएगा, तब हम नेटिव BigInts
के लिए, इन रन-टाइम डिपेंडेंसी को हटा पाएंगे. नेटिव तरीके से लागू करने की प्रोसेस, न सिर्फ़ तेज़ है, बल्कि इससे लोड होने में लगने वाला समय, पार्स होने में लगने वाला समय, और कंपाइल होने में लगने वाला समय भी कम हो जाएगा. ऐसा इसलिए, क्योंकि हमें उन अतिरिक्त लाइब्रेरी को लोड नहीं करना पड़ेगा.
और भी कई सुविधाएं!
डेवलपर के लिए Chrome 67 में ये सिर्फ़ कुछ बदलाव हैं. इसमें और भी कई बदलाव हैं.
Credential Management API, Chrome 51 से काम करता है. यह क्रेडेंशियल बनाने, उन्हें वापस पाने, और उन्हें सेव करने के लिए फ़्रेमवर्क उपलब्ध कराता है. ऐसा करने के लिए, दो तरह के क्रेडेंशियल का इस्तेमाल किया गया: PasswordCredential
और FederatedCredential
. Web Authentication API, PublicKeyCredential
नाम का तीसरा क्रेडेंशियल टाइप जोड़ता है. इसकी मदद से, ब्राउज़र किसी उपयोगकर्ता की पुष्टि, पुष्टि करने वाले किसी डिवाइस से जनरेट किए गए निजी/सार्वजनिक पासकोड के जोड़े की मदद से कर सकते हैं. जैसे, सुरक्षा कुंजी, फ़िंगरप्रिंट रीडर या उपयोगकर्ता की पुष्टि करने वाला कोई अन्य डिवाइस. Chrome 67, डेस्कटॉप पर यूएसबी ट्रांसपोर्ट पर U2F/CTAP 1 ऑथेंटिकेटर का इस्तेमाल करके,
एपीआई को चालू करता है.
इस बारे में ज़्यादा जानने के लिए, एइजी की WebAuthn की मदद से, बेहतर तरीके से पुष्टि करने की सुविधा चालू करना पोस्ट पढ़ें.
Google I/O का समापन
अगर आपने I/O में हिस्सा नहीं लिया है या आपने वेब से जुड़ी सभी बातचीत नहीं देखी है, तो Google I/O से जुड़ी सभी नई जानकारी पाने के लिए, Chrome और वेब प्लेलिस्ट देखें!
DevTools में नई सुविधाएं
Chrome 67 में DevTools के लिए जो नई सुविधाएं जोड़ी गई हैं, उनके बारे में जानने के लिए Chrome DevTools में नई सुविधाएं देखें.
सदस्यता लें
इसके बाद, हमारे YouTube चैनल पर सदस्यता लें बटन पर क्लिक करें. ऐसा करने पर, जब भी हम कोई नया वीडियो लॉन्च करेंगे, तो आपको ईमेल से सूचना मिलेगी.
मेरा नाम पीट लेपेज है. Chrome 68 के रिलीज़ होने के बाद, मैं आपको बताऊंगा कि Chrome में नया क्या है!