Chrome डेवलपर सम्मेलन - वेब प्लैटफ़ॉर्म की खास जानकारी खोलें

ग्रेग साइमन और एरिक साइडेल

Blink, Chrome का ओपन-सोर्स रेंडरिंग इंजन है. Blink की टीम, वेब को बेहतर बना रही है और डेवलपर को मिलने वाली समस्याओं को दूर कर रही है.

अप्रैल के लॉन्च के बाद से, पर्दे के पीछे की गतिविधियों वाले कई सुधार शुरू किए गए हैं.

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

हम हर छह हफ़्ते में एक नया डेवलपर एपीआई पब्लिश करते हैं: Chrome के शिपिंग शेड्यूल की तरह.

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

इसके बाद, ईमेल भेजने की सार्वजनिक सूची में, हम शिपिंग के इंटेंट के बारे में बताते हैं.

chromestatus.com पर जाकर, उन सुविधाओं को देखा जा सकता है जिन पर हमने काम किया है. साथ ही, वे सुविधाएं भी देखी जा सकती हैं जिन्हें हमने शिप किया है और जिन्हें बंद करने का सोचा है. आप Chromium रिलीज़ ब्लॉग भी देख सकते हैं, जिसमें गड़बड़ियों और हमारे ट्रैकर डैशबोर्ड के लिंक होते हैं.

एक और बड़ा बदलाव यह है कि हम WebKit प्रीफ़िक्स हटा रहे हैं. इसका मकसद ब्लिंक प्रीफ़िक्स का इस्तेमाल करना नहीं है. इसमें रन-टाइम फ़्लैग का इस्तेमाल करना है, न कि सिर्फ़ कंपाइल-टाइम फ़्लैग का.

Android वेबव्यू एक बड़ी चुनौती रहा है – लेकिन HTML5Test से पता चला है कि चीज़ें बेहतर हो रही हैं. हर जगह वेब प्लैटफ़ॉर्म एपीआई का एक सेट मौजूद होने की वजह से, हम डेस्कटॉप के काफ़ी करीब हैं (वेब ऑडियो इसका एक अच्छा उदाहरण है!)

लेकिन सॉसेज मशीन कैसे काम करती है? Blink में किया जाने वाला हर एक बदलाव तुरंत 30,000 से ज़्यादा टेस्ट से होकर गुज़रता है. इसमें उन सभी Chromium जांचों का ज़िक्र नहीं है जो बाद में चलते हैं. हम 24 घंटे के हिसाब से जानकारी इकट्ठा करने की सुविधा का इस्तेमाल करते हैं. साथ ही, इसमें हज़ारों बॉट, हज़ारों मानदंड, और ऐसे सिस्टम मौजूद होते हैं जो हमारे इंजन में लाखों टूटे हुए वेब पेजाें को फेंक देते हैं, ताकि वे कहीं गिर न जाएं. हम जानते हैं कि मोबाइल की रफ़्तार काफ़ी धीमी है. हम इसे बेहतर बनाने के लिए कड़ी मेहनत कर रहे हैं.

तो नया क्या है?

  • वेब कॉम्पोनेंट: एरिक बिडेलमैन की बातचीत देखें!
  • वेब ऐनिमेशन: जटिल, सिंक किए गए, और अच्छी परफ़ॉर्मेंस वाले ऐसे ऐनिमेशन जो जहां भी मुमकिन हो, जीपीयू का इस्तेमाल करते हैं
  • पार्शियल लेआउट: सिर्फ़ अपनी ज़रूरत के हिसाब से ही कंप्यूट करें!
  • सीएसएस ग्रिड
  • रिस्पॉन्सिव इमेज: srcset या srcN या ?
  • टेक्स्ट का अपने-आप साइज़ तय करने की सुविधा और एक जैसे सब-पिक्सल फ़ॉन्ट
  • Blink में इस्तेमाल किया जाने वाला ग्राफ़िक सिस्टम, Skia है. इसे Windows पर GDI से DirectWrite पर स्विच किया जा रहा है

हम इसके बारे में आपकी राय जानना चाहते हैं!

अगर आपको अपने खून में C++ लग रहा है और आपको हमारे साथ C++ लिखना है, तो हमारे सभी कोड का इस्तेमाल किया जा सकता है. आपको किसी को बताने या ईसाई धर्म का प्रचार करने के लिए प्रेरित करने की ज़रूरत नहीं है. बस कोई पैच पोस्ट करें या गड़बड़ी की शिकायत करें!

स्लाइड: ब्लिंक

सुरक्षा

पेरिसा तबरीज़

आज पहले से कहीं ज़्यादा लोग वेब से जुड़ रहे हैं – और कई जगहों से भी.

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

इन सबसे ऊपर, डेवलपर के रूप में हमें एसएसएल की ज़रूरत और व्यावहारिकता को समझने की ज़रूरत है.

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

SSL Pulse के अनुसार, एक साल पहले हमारे पास SSL अपनाने का करीब 15% से कम हिस्सा था; अब हम 50% से भी कम उपयोग कर रहे हैं.

दो शॉर्ट फ़ॉर्म वाले शब्द:

  • TLS: एसएसएल की तरह ही ज़्यादातर इंटेंट और मकसद के लिए. सटीक जानकारी के लिए, SSL 3.1 का नाम बदलकर TLS कर दिया गया है और TLS, IETF मानक नाम है. हालांकि, इन्हें बदला भी जा सकता है!

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

इंटरनेट पर नेटवर्किंग सुरक्षित, तुरंत, और तेज़ लग सकती है. ऐसा लगता है कि हम सीधे वेबसाइट से बात कर रहे हैं. हालांकि, असल में यह कोई सीधा संबंध नहीं होता. हमारी बातचीत वाई-फ़ाई राऊटर, इंटरनेट सेवा देने वाली कंपनी (आईएसपी) और आपके डिवाइस और वेबसाइट के बीच संभावित अन्य प्रॉक्सी प्रॉक्सी से होती है. एचटीटीपीएस के बिना, हमारी सारी बातचीत सादे टेक्स्ट में होती है.

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

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

"इस साल जनवरी (2010) में, Gmail ने डिफ़ॉल्ट रूप से हर चीज़ के लिए एचटीटीपीएस का इस्तेमाल करना शुरू कर दिया. ऐसा करने के लिए हमें न तो कोई अतिरिक्त मशीन और न ही कोई खास हार्डवेयर इस्तेमाल करना पड़ा. हमारी प्रोडक्शन फ़्रंटएंड मशीनों पर 1% से कम सीपीयू लोड होने, हर कनेक्शन के लिए 10 केबी की मेमोरी, और नेटवर्क ओवरहेड के कुल हिस्से का 2% से कम हिस्सा...

अगर आप अभी पढ़ना बंद कर देते हैं, तो आपको बस एक बात याद रखनी होगी: SSL अब कंप्यूटेशनल रूप से महंगा नहीं है.”

ओवरक्लॉकिंग एसएसएल, ऐडम लैंग्ली (Google)

आखिर में, कुछ ऐसी गड़बड़ियां हैं जो आम तौर पर हमें दिखती हैं:

  • मिक्स कॉन्टेंट: ऐसी साइटें जो एचटीटीपी के साथ-साथ एचटीटीपीएस का भी इस्तेमाल करती हैं. इससे आपका उपयोगकर्ता परेशान हो जाएगा, क्योंकि उसे कॉन्टेंट लोड करने के लिए, अनुमति के बटन पर क्लिक करना होगा. (Chrome और Firefox असल में, iframes के मिले-जुले कॉन्टेंट को ब्लॉक करते हैं.) पक्का करें कि एचटीटीपीएस पेज पर मौजूद आपके सभी रिसॉर्स, एचटीटीपीएस से लोड किए गए हों. इसके लिए, मिलते-जुलते यूआरएल या स्कीम से जुड़े यूआरएल, जैसे कि <style src="//foo.com/style.css"> का इस्तेमाल करें
  • असुरक्षित कुकी: एचटीटीपी कनेक्शन की मदद से, ये कुकी साफ़ तौर पर भेजी जाती हैं. कुकी हेडर पर सुरक्षित एट्रिब्यूट सेट करके, इससे बचें. एसएसएल ट्रांसपोर्ट सिक्योरिटी (एचएसटीएस) की ज़रूरत के लिए, एक नए "स्ट्रिक्ट ट्रांसपोर्ट सिक्योरिटी" हेडर का भी इस्तेमाल किया जा सकता है.

टेकअवे

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

Slides: क्या आपके पास एसएसएल है?

कई डिवाइस वाले वेब के लिए मीडिया एपीआई

सैम डटन और जेन लिंडन

वेब पर नए-नए डिवाइस और प्लैटफ़ॉर्म की संख्या बढ़ने के साथ-साथ, हम ऑडियो, वीडियो, और रीयल टाइम कम्यूनिकेशन में भी काफ़ी बढ़ोतरी देख रहे हैं. ऑनलाइन मीडिया, हमारे हर तरह के मीडिया को इस्तेमाल करने के तरीके को बदल रहा है.

यूके सरकार की एक स्टडी में पाया गया कि 53% वयस्क टीवी देखते समय 'मीडिया मल्टी-टास्क' का इस्तेमाल करते हैं: मोबाइल डिवाइस का इस्तेमाल करके टीवी देखते हैं और मीडिया का इस्तेमाल करते हैं. कई देशों में टीवी पर वीडियो देखने की सुविधा कम है और ऑनलाइन वीडियो देखने की अवधि में बढ़ोतरी हुई है. उदाहरण के लिए, चीन में 2012 में बीज़िंग में रहने वाले सिर्फ़ 30% परिवारों ने टीवी देखा था. यह 2009 के 70% से कम है. W3C हाइलाइट 2013 के अनुसार, 'पिछले साल मोबाइल डिवाइसों पर वीडियो देखने की संख्या दोगुनी हो गई है. इस साल अमेरिका में, हर दिन डिजिटल मीडिया पर बिताया गया औसत समय, टीवी देखने के मुकाबले ज़्यादा है. वीडियो देखना अब पैसिव ऐक्ट नहीं है. अमेरिका के 87% मनोरंजन उपभोक्ताओं का कहना है कि वे टेलिविज़न देखते समय कम से कम एक सेकंड स्क्रीन वाला डिवाइस इस्तेमाल करते हैं.' Cisco के मुताबिक 'वीडियो ...' 2017 तक वैश्विक उपभोक्ता ट्रैफ़िक के 80 से 90 प्रतिशत के दायरे में रहेगा. यह हर सेकंड में करीब 10 लाख मिनट के वीडियो के बराबर है.

तो हमारे पास वेब डेवलपर के लिए क्या है? ओपन वेब के लिए मीडिया एपीआई का नेटवर्क: स्टैंडर्ड और इंटरऑपरेबल टेक्नोलॉजी, जो कई प्लैटफ़ॉर्म पर काम करती हैं.

टेकअवे

  • WebRTC, ब्राउज़र में रीयल टाइम में कम्यूनिकेशन की सुविधा देता है. इसके अलावा, अब यह मोबाइल और डेस्कटॉप पर बड़े पैमाने पर काम करता है. कुल मिलाकर 1.2 अरब से ज़्यादा WebRTC एंडपॉइंट हैं.
  • वेब ऑडियो, ऑडियो सिंथेसिस और प्रोसेसिंग के लिए बेहतरीन टूल उपलब्ध कराता है.
  • वेब ऑडियो के साथ इंटिग्रेट किया गया वेब एमआईडीआई, एमआईडीआई डिवाइसों के साथ इंटरैक्शन की अनुमति देता है.
  • ऑडियो और वीडियो एलिमेंट, अब मोबाइल और डेस्कटॉप के 85% से ज़्यादा ब्राउज़र पर काम करते हैं.
  • मीडिया सोर्स एक्सटेंशन का इस्तेमाल, अडैप्टिव स्ट्रीमिंग और टाइम शिफ़्ट के लिए किया जा सकता है.
  • EME, सुरक्षित कॉन्टेंट को चलाने की सुविधा देता है.
  • ट्रांसक्रिप्ट, कैप्शन, और ट्रैक एलिमेंट की मदद से, सबटाइटल, कैप्शन, तय समय वाला मेटाडेटा, डीप लिंकिंग, और डीप सर्च की सुविधा को चालू किया जा सकता है.

Slides: कई डिवाइसों वाले वेब के लिए मीडिया एपीआई