पेश है स्क्वॉश वर्शन 2

नए कोडेक के लिए सहायता, अपडेट किया गया डिज़ाइन, और सीएलआई!

मैरिको कोसाका

Squoosh, इमेज कंप्रेस करने का एक ऐप्लिकेशन है. हमारी टीम ने इसे Chrome डेव समिट 2018 में बनाया और पहली बार इसमें शामिल किया. हमने इसे अलग-अलग इमेज कोडेक के साथ प्रयोग को आसान बनाने और आधुनिक वेब की क्षमताओं को दिखाने के लिए बनाया है.

आज हम ऐप्लिकेशन के लिए एक बड़ा अपडेट रिलीज़ कर रहे हैं. इसमें ज़्यादा कोडेक, नए डिज़ाइन, और आपकी कमांड लाइन पर Squoosh इस्तेमाल करने का एक नया तरीका शामिल है. इस अपडेट को Squoosh CLI कहते हैं.

नए कोडेक के लिए सहायता

आपके ब्राउज़र में मूल रूप से काम करने वाले कोडेक के साथ-साथ, अब हम OxiPNG, MozJPEG, WebP, और AVIF का इस्तेमाल भी कर सकते हैं. WebAssembly का इस्तेमाल करके, एक नया कोडेक फिर से बनाया गया. कोडेक एन्कोडर और डिकोडर को WebAssembly मॉड्यूल के तौर पर कंपाइल करके, उपयोगकर्ता नए कोडेक ऐक्सेस और उनके साथ प्रयोग कर सकते हैं. भले ही, उनका पसंदीदा ब्राउज़र उन पर काम न करता हो.

कमांड लाइन लॉन्च हो रही है Squoosh!

2018 में पहली बार लॉन्च होने के बाद से ही, लोगों का आम तौर पर यह अनुरोध होता था कि वे Squoosh के साथ बिना यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्ट करें. हमें यह पाथ पसंद नहीं आया. ऐसा इसलिए हुआ, क्योंकि हमारा ऐप्लिकेशन कमांड-लाइन-आधारित कोडेक टूल में सबसे ऊपर एक यूज़र इंटरफ़ेस (यूआई) था. हालांकि, हम कई टूल के बजाय कोडेक के पूरे पैकेज का इस्तेमाल करने की इच्छा को समझते हैं. स्क्वॉश सीएलआई यही काम करता है.

Squoosh सीएलआई के बीटा वर्शन को npm i @squoosh/cli चलाकर या सीधे npx @squoosh/cli [parameters] का इस्तेमाल करके इंस्टॉल किया जा सकता है.

Squoosh सीएलआई को नोड में लिखा गया है और यह ठीक उन WebAssembly मॉड्यूल का इस्तेमाल करता है जिन्हें PWA इस्तेमाल करता है. कर्मचारियों का बड़े पैमाने पर इस्तेमाल करने से, सभी इमेज को समानांतर रूप से डिकोड, प्रोसेस, और कोड में बदला जाता है. हम रोलअप का इस्तेमाल करके भी सभी चीज़ों को एक JavaScript फ़ाइल में इकट्ठा करते हैं, ताकि यह पक्का किया जा सके कि npx से इंस्टॉल करना तेज़ और आसान हो. सीएलआई, ऑटो कंप्रेस करने की सुविधा भी देता है. इसमें यह बटरौगली मेट्रिक का इस्तेमाल करके, विज़ुअल क्वालिटी को कम किए बिना इमेज की क्वालिटी को जितना हो सके उतना कम करने की कोशिश करता है.

Squoosh सीएलआई की मदद से, अपने वेब ऐप्लिकेशन में मौजूद इमेज को कई फ़ॉर्मैट में कंप्रेस किया जा सकता है. साथ ही, <picture> एलिमेंट का इस्तेमाल करके, ब्राउज़र को सबसे सही वर्शन चुनने दिया जा सकता है. हम Webpack, Rollup, और दूसरे बिल्ड टूल के लिए प्लगिन बनाने की भी योजना बना रहे हैं, ताकि इमेज कंप्रेशन को आपकी बिल्ड प्रोसेस का अपने-आप हिस्सा बनाया जा सके.

बिल्ड प्रोसेस को Webpack से रोलअप में बदला गया

Squoosh को बनाने वाली उसी टीम ने इस साल टूलिंग रिपोर्ट के लिए, बिल्ड टूल पर काम करने में काफ़ी समय बिताया और बिल्ड टूल को वेबपैक से रोलअप पर स्विच करने का फ़ैसला किया.

प्रोजेक्ट की शुरुआत Webpack के साथ की गई थी, क्योंकि हम इसे एक टीम के तौर पर आज़माना चाहते थे. 2018 में Webpack ही ऐसा टूल था जिसने हमें प्रोजेक्ट को अपनी ज़रूरत के हिसाब से सेट अप करने के लिए ज़रूरी कंट्रोल दिया. समय के साथ, हमें रोलअप का आसान प्लगिन सिस्टम मिला. साथ ही, ESM के साथ इसे इस्तेमाल करने से, हमें इस प्रोजेक्ट के लिए एक स्वाभाविक विकल्प मिल गया.

अपडेट किया गया यूज़र इंटरफ़ेस (यूआई) डिज़ाइन

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

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

अगला क्या है ?

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

स्क्वॉश हमेशा से ओपन सोर्स रहा है, लेकिन हमने कभी भी कम्यूनिटी को बढ़ाने पर ध्यान नहीं दिया. साल 2021 में, हम ज़्यादा योगदान देने वालों को इस प्रोजेक्ट में शामिल करने की योजना बना रहे हैं.

क्या आपके पास Squoosh के लिए कोई आइडिया है? कृपया हमें हमारे समस्या ट्रैकर पर बताएं. टीम कुछ समय के लिए सर्दियों की छुट्टियों में जा रही है, लेकिन हम वादा करते हैं कि नए साल में हम आपसे दोबारा संपर्क करेंगे.