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

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

एपीआई का नाम शिपमेंट रास्ते में है
वेब ब्लूटूथ एपीआईChrome 56
WebUSB APIChrome 61
वेब शेयर टारगेटChrome 71
वेब शेयर एपीआई लेवल 2Chrome 75
एक साथ काम नहीं करने वाली क्लिपबोर्ड सुविधा: इमेज पढ़ें और लिखेंChrome 76
वेब शेयर टारगेट लेवल 2Chrome 76
कुंजी का संकेत डालेंChrome 77
स्टोरेज कोटा बढ़ाएंChrome 78
इंस्टॉल किए गए मिलते-जुलते ऐप्लिकेशन एपीआई पाएंChrome 80
किसी खास समय के दौरान होने वाला बैकग्राउंड सिंकChrome 80
desktop-pvas: "minimal-ui" डिसप्ले मोड के साथ काम करता हैChrome 80
कंप्रेशन कोडेकChrome 80
Contacts एपीआईChrome 80
Badging APIChrome 81
पुश की मदद से, सर्विस वर्कर से बैजिंग एपीआई का इस्तेमाल करने की अनुमति देनाChrome 81
बारकोड डिटेक्शन एपीआईChrome 83
कॉन्टेंट इंडेक्स करने वाला एपीआईChrome 84
WebOTPChrome 84
स्क्रीन वेक लॉक एपीआईChrome 84
Streams API: ट्रांसफ़र की जा सकने वाली स्ट्रीमChrome 85
ऐप्लिकेशन शॉर्टकटChrome 85
फ़ाइल सिस्टम का ऐक्सेसChrome 86
एक साथ काम नहीं करने वाले क्लिपबोर्ड एपीआई के लिए टेक्स्ट/html सहायताChrome 86
कैमरे को पैन या झुकाने की सुविधाChrome 87
FUGU, हेडफ़ोन और स्पीकर पर सिस्टम और ऐप्लिकेशन के ऑडियो आउटपुट के कैप्चर को लागू करना Chrome 88
PointerLock कअडजस्ट किया गया मूवमेंटChrome 88
Android पर फ़ोटो पिकर की तरह ही फ़ोटो/वीडियो पिकर बनानाChrome 88
Windows 10 के साथ वेब शेयर (navigator.share) इंटिग्रेशनChrome 88
वेब एनएफ़सीChrome 89
वेबएचआईडी (ह्यूमन इंटरफ़ेस डिवाइस)Chrome 89
वेब सीरियल एपीआईChrome 89
डेस्कटॉप पर वेब शेयर करनाChrome 89
हाथ से लिखे जाने की पहचान करने वाला एपीआईChrome 90
वेब ऐप्लिकेशन के लिए मैनेज किए गए कॉन्फ़िगरेशनChrome 91
ओएस लॉगिन पर PWA चलानाChrome 91
WebCodecsChrome 93
किसी डिवाइस के कुछ समय से इस्तेमाल में न होने पर पहचान करनाChrome 94
EyeDropper एपीआईChrome 95
macOS और Linux पर PWA के लिए, ऐप्लिकेशन का शॉर्टकट मेन्यूChrome 96
PWA के लिए, यूआरएल प्रोटोकॉल हैंडलर का रजिस्ट्रेशन Chrome 96
WebTransportChrome 97
क्लिपबोर्ड: रेटिना-इमेज को चिपकाने से, pHYs मेटाडेटा मिट जाता है.Chrome 98
PWA को उसी तरह अनइंस्टॉल किया जाना चाहिए जिस तरह "असल ऐप्लिकेशन" को अनइंस्टॉल किया जाता हैChrome 99
वेब एनएफ़सी: NDEFReader createReadOnly()Chrome 100
मल्टी-स्क्रीन विंडो प्लेसमेंटChrome 100
HIDDevice Delete()Chrome 100
यूएसबीडिवाइस भूलने()Chrome 101
वेब पर यूएसबी से मिलता-जुलता ऑब्जेक्ट व्यवहारChrome 101
इंस्टॉल किए गए डेस्कटॉप वेब ऐप्लिकेशन के लिए, विंडो कंट्रोल ओवरलेChrome 102
फ़ाइल मैनेज करनाChrome 102
chrome.management API अब PWA ऐप्लिकेशन के साथ इंटरैक्ट नहीं कर सकताChrome 102
सीरियलपोर्ट भूल()Chrome 103
लोकल फ़ॉन्ट ऐक्सेसChrome 103
Fugu अनुरोध: डाइनैमिक ऐप्लिकेशन शॉर्टकट (शॉर्टकट v2)Chrome 104
Async Clipboard API के लिए वेब पर कस्टम फ़ॉर्मैटChrome 104
अब तक भेजे गए सभी Fugu API.

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

ऑरिजिन निजी फ़ाइल सिस्टम के लिए सिंक्रोनस फ़ाइल मेथड

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

navgator.storage.getDirectory तरीके से किए गए इस्तेमाल को आसमान छूने वाला चार्ट.

अब ज़्यादातर लोग ओपीएफ़एस का इस्तेमाल करते हैं, इसलिए अतिरिक्त शर्तें लागू हो गई हैं. उदाहरण के लिए, वर्कर के हिसाब से काम करने वाले फ़ाइल तरीकों के पूरी तरह सिंक्रोनस सेट की ज़रूरत (बैकग्राउंड के लिए whatwg/fs#7 देखें). नए वेब एपीआई आम तौर पर एसिंक्रोनस होते हैं, सिंक करने के तरीके होने से OPFS के साथ काम करना ज़्यादा आसान हो जाएगा. ऐसा, किसी वर्कर में हो रहा है, इसलिए मुख्य थ्रेड को ब्लॉक नहीं किया जा सकता.

हार्डवेयर एपीआई के निजता सुधार

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

मीटिंग में सामने आए नतीजे

जैसा कि आप सिर्फ़ इन तीन उदाहरणों से देख सकते हैं, प्रोजेक्ट फ़ुगु अभी बहुत दूर है. हमारे एपीआई का इस्तेमाल जारी रखें या शुरू करें और सुझाव, शिकायत या राय भेजें. Fugu के सभी फ़ीचर GitHub पर ओपन में डेवलप किए जाते हैं, इसलिए आप इससे जुड़े GitHub रेपो पर कोई ख़ास समस्या दर्ज कर सकते हैं या किसी मौजूदा समस्या में अपने विचार जोड़ सकते हैं. अगर आपको Chrome के लागू करने से जुड़ी कोई गड़बड़ी मिलती है या आपको पता चलता है कि इसे लागू करने की प्रक्रिया, खास जानकारी से अलग है, तो new.crbug.com पर गड़बड़ी की शिकायत करें. जितनी हो सके उतनी जानकारी दें. साथ ही, रिपोर्ट को फिर से बनाने के आसान निर्देश दें.

और, अगर आप ब्राउज़र सहायता को लेकर चिंतित हैं, तो कई Fugu API शानदार प्रगतिशील अनुभव के लिए तैयार करते हैं. मेरा लेख पढ़ें SVGcode: रास्टर इमेज को SVG वेक्टर ग्राफ़िक में बदलने के लिए एक PWA जिससे प्रेरणा मिल सकती है. जब तक ये एपीआई इंटरऑपरेबल (दूसरे सिस्टम के साथ काम नहीं करते) के तौर पर उपलब्ध नहीं हो जाते, तब तक हम यह भी नहीं मानते कि हमारा काम हो गया. साथ ही, हम अन्य ब्राउज़र में और भी स्टैंडर्ड तय करने, टेस्ट करने, और उन्हें इस्तेमाल करने की कोशिश करते रहेंगे.