क्या प्रोजेक्ट फ़ुगु " हो गया" है?

Project Fugu टीम का एक लक्ष्य यह है कि डेवलपर वेब पर वही काम कर पाएं जो प्लैटफ़ॉर्म के हिसाब से बने ऐप्लिकेशन कर सकते हैं. इसलिए, टीम वेब डेवलपर के लिए वे सुविधाएं जोड़ने में जुटी हुई है जो ऐप्लिकेशन में मौजूद नहीं हैं. अगर आपको हमारी बात पर भरोसा नहीं है, तो Fugu API ट्रैकर के "शिप किया गया" सेक्शन पर जाएं. यहां शिप किए गए 55 एपीआई दिए गए हैं. ये एपीआई, सबसे पहले शिप किए गए एपीआई से लेकर हाल ही में शिप किए गए एपीआई के क्रम में हैं:

एपीआई का नाम शिप किया गया
वेब ब्लूटूथ एपीआईChrome 56
WebUSB APIChrome 61
वेब शेयर टारगेटChrome 71
वेब शेयर एपीआई लेवल 2Chrome 75
Async Clipboard: इमेज पढ़ना और उनमें बदलाव करनाChrome 76
वेब शेयर टारगेट लेवल 2Chrome 76
कुंजी का हिंट डालेंChrome 77
स्टोरेज कोटा बढ़ानाChrome 78
इंस्टॉल किए गए मिलते-जुलते ऐप्लिकेशन का एपीआई पानाChrome 80
समय-समय पर होने वाला बैकग्राउंड सिंकChrome 80
desktop-pwas: "minimal-ui" डिसप्ले मोड के साथ काम करनाChrome 80
कंप्रेस करने वाले कोडेकChrome 80
Contacts APIChrome 80
Badging APIChrome 81
Badging API को Push के ज़रिए, सेवा वर्कर से इस्तेमाल करने की अनुमति देनाChrome 81
Barcode Detection APIChrome 83
Content Indexing APIChrome 84
WebOTPChrome 84
Screen Wake Lock APIChrome 84
Streams API: ट्रांसफ़र की जा सकने वाली स्ट्रीमChrome 85
ऐप्लिकेशन के शॉर्टकटChrome 85
फ़ाइल सिस्टम का ऐक्सेसChrome 86
async clipboard api के लिए text/html की सुविधाChrome 86
कैमरे के लिए पैन/टिल्ट की सुविधाChrome 87
FUGU, हेडफ़ोन और स्पीकर पर सिस्टम और ऐप्लिकेशन के ऑडियो आउटपुट को कैप्चर करने की सुविधा लागू करता है Chrome 88
PointerLock unadjustedMovementChrome 88
Android पर मौजूद फ़ोटो पिकर की तरह ही फ़ोटो/वीडियो पिकर बनानाChrome 88
Windows 10 के साथ वेब शेयर (navigator.share) इंटिग्रेशनChrome 88
वेब एनएफ़सीChrome 89
WebHID (Human Interface Device)Chrome 89
Web Serial APIChrome 89
डेस्कटॉप पर वेब शेयर करनाChrome 89
Handwriting Recognition APIChrome 90
वेब ऐप्लिकेशन के लिए मैनेज किया जाने वाला कॉन्फ़िगरेशनChrome 91
ओएस लॉगिन पर PWA चलानाChrome 91
WebCodecsChrome 93
कुछ समय से इस्तेमाल में न होने का पता लगाने की सुविधाChrome 94
EyeDropper APIChrome 95
macOS और Linux पर PWA के लिए ऐप्लिकेशन शॉर्टकट मेन्यूChrome 96
PWA के लिए, यूआरएल के प्रोटोकॉल हैंडलर का रजिस्ट्रेशन Chrome 96
WebTransportChrome 97
क्लिपबोर्ड: रेटिना-इमेज चिपकाने पर, pHYs का मेटाडेटा हट जाता है.Chrome 98
PWA को उसी तरह अनइंस्टॉल किया जा सकता है जिस तरह किसी "असल ऐप्लिकेशन" को अनइंस्टॉल किया जाता हैChrome 99
वेब एनएफ़सी: NDEFReader makeReadOnly()Chrome 100
मल्टी-स्क्रीन विंडो प्लेसमेंटChrome 100
HIDDevice forget()Chrome 100
USBDevice forget()Chrome 101
Web USB sameObject का व्यवहारChrome 101
इंस्टॉल किए गए डेस्कटॉप वेब ऐप्लिकेशन के लिए, विंडो कंट्रोल ओवरलेChrome 102
फ़ाइल मैनेज करनाChrome 102
chrome.management API अब PWA ऐप्लिकेशन के साथ इंटरैक्ट नहीं कर सकताChrome 102
SerialPort forget()Chrome 103
लोकल फ़ॉन्ट का ऐक्सेसChrome 103
Fugu का अनुरोध: ऐप्लिकेशन के डाइनैमिक शॉर्टकट (शॉर्टकट v2)Chrome 104
Async Clipboard API के लिए वेब के कस्टम फ़ॉर्मैटChrome 104
अब तक शिप किए गए सभी Fugu API.

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

ओरिजनल निजी फ़ाइल सिस्टम के लिए, फ़ाइल सिंक करने के तरीके

इसके उलट, हमने इस काम को पूरा करने का एलान करने के बजाय, अभी इसकी शुरुआत ही की है. उदाहरण के लिए, नीचे दिए गए चार्ट में, navigator.storage.getDirectory() तरीके के इस्तेमाल में काफ़ी बढ़ोतरी दिख रही है. इस तरीके का इस्तेमाल, ऑरिजिन प्राइवेट फ़ाइल सिस्टम (ओपीएफ़एस) के एंट्री पॉइंट के तौर पर किया जाता है. उदाहरण के लिए, इस तरीके का इस्तेमाल Photoshop के बेहतर स्टोरेज की ज़रूरतों के लिए किया जाता है. वेब एसक्यूएल के बंद होने से पहले और उसके बाद भी, स्टोरेज कम्यूनिटी इसमें काफ़ी दिलचस्पी रखती है.

navigator.storage.getDirectory तरीके के इस्तेमाल में हुई बढ़ोतरी को दिखाने वाला चार्ट.

अब ज़्यादा लोग ओपीएफ़एस का इस्तेमाल करते हैं, इसलिए कुछ और ज़रूरी शर्तें जोड़ी गई हैं. उदाहरण के लिए, वर्कर कॉन्टेक्स्ट में फ़ाइल के तरीकों के पूरी तरह सिंक होने वाले सेट की ज़रूरत होती है. ज़्यादा जानकारी के लिए, 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 लेख पढ़ें. इससे आपको इस बारे में जानकारी मिलेगी. जब तक ये एपीआई इंटरऑपरेबल नहीं हो जाते, तब तक हम अपनी भूमिका पूरी नहीं मानेंगे. हम इन एपीआई को स्टैंडर्ड बनाने, उनकी जांच करने, और दूसरे ब्राउज़र में इनका इस्तेमाल करने के लिए लगातार काम करते रहेंगे.