Project Fugu टीम का एक लक्ष्य यह है कि डेवलपर वेब पर वही काम कर पाएं जो प्लैटफ़ॉर्म के हिसाब से बने ऐप्लिकेशन कर सकते हैं. इसलिए, टीम वेब डेवलपर के लिए वे सुविधाएं जोड़ने में जुटी हुई है जो ऐप्लिकेशन में मौजूद नहीं हैं. अगर आपको हमारी बात पर भरोसा नहीं है, तो Fugu API ट्रैकर के "शिप किया गया" सेक्शन पर जाएं. यहां शिप किए गए 55 एपीआई दिए गए हैं. ये एपीआई, सबसे पहले शिप किए गए एपीआई से लेकर हाल ही में शिप किए गए एपीआई के क्रम में हैं:
यह एक लंबी सूची है और हमारे पास और भी काम हैं. फ़िलहाल, कुछ एपीआई और सुविधाएं डेवलपर के लिए ट्रायल के तौर पर उपलब्ध हैं. इसका मतलब है कि उन्हें लागू कर दिया गया है, लेकिन वे सुविधा फ़्लैग के पीछे हैं. कुछ ऐसी सुविधाएं हैं जिन पर हमने काम करना शुरू कर दिया है. साथ ही, कई सुविधाओं पर विचार किया जा रहा है. जैसा कि आप देख सकते हैं, अब समय आ गया है कि हम पीछे हटकर यह न कहें कि हमने अपना काम कर लिया है.
ओरिजनल निजी फ़ाइल सिस्टम के लिए, फ़ाइल सिंक करने के तरीके
इसके उलट, हमने इस काम को पूरा करने का एलान करने के बजाय, अभी इसकी शुरुआत ही की है. उदाहरण के लिए, नीचे दिए गए चार्ट में, navigator.storage.getDirectory()
तरीके के इस्तेमाल में काफ़ी बढ़ोतरी दिख रही है. इस तरीके का इस्तेमाल, ऑरिजिन प्राइवेट फ़ाइल सिस्टम (ओपीएफ़एस) के एंट्री पॉइंट के तौर पर किया जाता है. उदाहरण के लिए, इस तरीके का इस्तेमाल Photoshop के बेहतर स्टोरेज की ज़रूरतों के लिए किया जाता है. वेब एसक्यूएल के बंद होने से पहले और उसके बाद भी, स्टोरेज कम्यूनिटी इसमें काफ़ी दिलचस्पी रखती है.
अब ज़्यादा लोग ओपीएफ़एस का इस्तेमाल करते हैं, इसलिए कुछ और ज़रूरी शर्तें जोड़ी गई हैं. उदाहरण के लिए, वर्कर कॉन्टेक्स्ट में फ़ाइल के तरीकों के पूरी तरह सिंक होने वाले सेट की ज़रूरत होती है. ज़्यादा जानकारी के लिए, whatwg/fs#7 देखें. नए वेब एपीआई आम तौर पर एसिंक्रोनस होते हैं. हालांकि, सिंक्रोनस तरीके होने पर, Wasm कॉन्टेक्स्ट में OPFS के साथ काम करना ज़्यादा आसान हो जाता है. ऐसा, वर्कर्स में होने की वजह से, मुख्य थ्रेड को ब्लॉक नहीं किया जा सकता.
हार्डवेयर एपीआई के लिए निजता से जुड़े सुधार
हार्डवेयर एपीआई भी एक उदाहरण हैं. इनकी मदद से, HID, सीरियल, यूएसबी, ब्लूटूथ, और NFC डिवाइसों से कनेक्ट किया जा सकता है. इनमें से कुछ एपीआई का इस्तेमाल कुछ समय से किया जा रहा है. हालांकि, हाल ही तक किसी ऐसे डिवाइस को अनलिंक करने का कोई तरीका नहीं था जिसे आपने पहले कनेक्ट किया था. अब कुछ एपीआई के लिए, forget()
तरीकों का इस्तेमाल किया जा सकता है. उदाहरण के लिए, पहले से कनेक्ट किए गए सीरियल डिवाइस को हटाने का तरीका यहां बताया गया है. इससे एपीआई की निजता को बेहतर बनाने में मदद मिलती है.
// Request a serial port.
const port = await navigator.serial.requestPort();
// Then later revoke permission to the serial port.
await port.forget();
मल्टी-स्क्रीन विंडो प्लेसमेंट एपीआई के लिए बेहतर सुविधाएं
आखिरी उदाहरण मल्टी-स्क्रीन विंडो प्लेसमेंट एपीआई है. इसमें, डेवलपर के सुझाव के आधार पर, पहले "Internal Display 1"
जैसे सामान्य स्क्रीन लेबल को "Built-in Retina Display"
जैसे ज़्यादा काम के लेबल से बदल दिया गया था, ताकि उपयोगकर्ता अपने मल्टी-स्क्रीन सेटअप की स्क्रीन के साथ इन लेबल को आसानी से जोड़ सकें.
मीटिंग में सामने आए नतीजे
इन तीन उदाहरणों से पता चलता है कि Project Fugu अभी पूरी तरह से तैयार नहीं है. हमारे एपीआई का इस्तेमाल जारी रखें या शुरू करें और हमें सुझाव, शिकायत या राय भेजें. Fugu के सभी स्पेसिफ़िकेशन, GitHub पर सार्वजनिक तौर पर डेवलप किए जाते हैं. इसलिए, आपके पास उससे जुड़े GitHub रिपॉज़िटरी पर स्पेसिफ़िकेशन से जुड़ी समस्या दर्ज करने या किसी मौजूदा समस्या में अपने सुझाव, राय या टिप्पणी जोड़ने का विकल्प होता है. अगर आपको Chrome में इस सुविधा को लागू करने से जुड़ी कोई गड़बड़ी मिलती है या यह पता चलता है कि इसे लागू करने का तरीका, स्पेसिफ़िकेशन से अलग है, तो new.crbug.com पर गड़बड़ी की शिकायत करें. इसमें ज़्यादा से ज़्यादा जानकारी शामिल करें और गड़बड़ी को दोहराने के लिए आसान निर्देश दें.
अगर आपको ब्राउज़र के साथ काम करने की सुविधा के बारे में चिंता है, तो कई Fugu API, प्रगतिशील बेहतर सुविधाएं देते हैं. SVGcode: रेस्टर इमेज को एसवीजी वेक्टर ग्राफ़िक में बदलने वाला PWA लेख पढ़ें. इससे आपको इस बारे में जानकारी मिलेगी. जब तक ये एपीआई इंटरऑपरेबल नहीं हो जाते, तब तक हम अपनी भूमिका पूरी नहीं मानेंगे. हम इन एपीआई को स्टैंडर्ड बनाने, उनकी जांच करने, और दूसरे ब्राउज़र में इनका इस्तेमाल करने के लिए लगातार काम करते रहेंगे.