Project Fugu टीम का एक लक्ष्य यह है कि डेवलपर के लिए प्लैटफ़ॉर्म के हिसाब से ऐप्लिकेशन पर जो कुछ भी किया जा सके, टीम उन सुविधाओं को जोड़ने में व्यस्त रही जो वेब डेवलपर को ऐप्लिकेशन के इस गैप को खत्म करने के लिए ज़रूरी थीं. अगर आपको यकीन नहीं हो रहा है, तो Fugu API ट्रैकर का "शिप किया गया" सेक्शन देखें. यहां 55 शिप किए गए एपीआई दिए गए हैं. इनमें से सबसे हाल ही में भेजे गए एपीआई के क्रम में:
यह एक लंबी सूची है और हमारी प्लेट में और भी बहुत कुछ है. डेवलपर ट्रायल में अब भी कुछ एपीआई और सुविधाएं हैं. हालांकि, इन्हें लागू किया जाता है, लेकिन फ़ीचर फ़्लैग के पीछे ये सुविधाएं होती हैं. इनमें से कुछ पर हमने काम शुरू किया है और इनमें से कई पर विचार किया जा रहा है. जैसा कि आपको दिख रहा है, यह बताने का समय नहीं है कि काम हो गया.
ऑरिजिन निजी फ़ाइल सिस्टम के लिए सिंक्रोनस फ़ाइल मेथड
इसके ठीक उलट, हम अपनी कोशिशों को पूरा होने का एलान करने के बजाय, अब शुरू ही कर रहे हैं. उदाहरण के लिए, नीचे दिए गए चार्ट पर विचार करें जिसमें navigator.storage.getDirectory()
तरीके के इस्तेमाल की बढ़ोतरी को दिखाया गया है. इसका इस्तेमाल, ऑरिजिन प्राइवेट फ़ाइल सिस्टम (ओपीएफ़एस) के एंट्री पॉइंट के तौर पर किया जाता है. उदाहरण के लिए, इस तरीके का इस्तेमाल Photoshop की ज़्यादा परफ़ॉर्मेंस वाले स्टोरेज की ज़रूरत और वेब एसक्यूएल का बंद होने के बाद से, स्टोरेज समुदाय की खास दिलचस्पी के लिए किया जाता है.
अब ज़्यादातर लोग ओपीएफ़एस का इस्तेमाल करते हैं, इसलिए अतिरिक्त शर्तें लागू हो गई हैं. उदाहरण के लिए, वर्कर के हिसाब से काम करने वाले फ़ाइल तरीकों के पूरी तरह सिंक्रोनस सेट की ज़रूरत (बैकग्राउंड के लिए 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 जिससे प्रेरणा मिल सकती है. जब तक ये एपीआई इंटरऑपरेबल (दूसरे सिस्टम के साथ काम नहीं करते) के तौर पर उपलब्ध नहीं हो जाते, तब तक हम यह भी नहीं मानते कि हमारा काम हो गया. साथ ही, हम अन्य ब्राउज़र में और भी स्टैंडर्ड तय करने, टेस्ट करने, और उन्हें इस्तेमाल करने की कोशिश करते रहेंगे.