वेबअसेंबली की मदद से, अब वेब पर टूल उपलब्ध हैं.
WebAssembly की मदद से, डेवलपर दूसरी भाषाओं से वेब पर बेहतर परफ़ॉर्मेंस वाली नई सुविधाएं ला सकते हैं. पिछले कुछ सालों में, डेवलपर ने इन सुविधाओं का ज़्यादा से ज़्यादा फ़ायदा उठाया है. इस पोस्ट में, वेब असेंबली की मदद से काम करने वाले कुछ नए टूल के बारे में बताया गया है. इनसे आपको फ़ायदा मिल सकता है.
ऐसे टूल और लाइब्रेरी जिनका इस्तेमाल अब किया जा सकता है
बिना देरी किए, चलिए मुख्य बात पर आते हैं :D
SQLite
SQLite का यह पूरा पोर्ट, आपके लिए एक लाइटवेट, एम्बेड किया गया, रिलेशनल डेटाबेस मैनेजमेंट सिस्टम उपलब्ध कराता है. ज़्यादा जानने के लिए, यह ब्लॉग पोस्ट पढ़ें. इसमें इस बेहतरीन पोर्ट और इसका इस्तेमाल करने के तरीके के बारे में बताया गया है.
FFmpeg.wasm
FFmpeg एक मुफ़्त और ओपन-सोर्स सॉफ़्टवेयर प्रोजेक्ट है. इसमें वीडियो, ऑडियो, और अन्य मल्टीमीडिया फ़ाइलों और स्ट्रीम को मैनेज करने के लिए, लाइब्रेरी और प्रोग्राम का एक सुइट शामिल है. wasm कंपाइल किया गया वर्शन यहां (github repo) मिल सकता है. इसकी मदद से, सीधे ब्राउज़र में यह सभी काम किए जा सकते हैं.
यूनिवर्सल सीन डिस्क्रिप्शन (USD)
यूनिवर्सल सीन डिस्क्रिप्शन (यूएसडी), 3D कंप्यूटर ग्राफ़िक्स डेटा के लिए एक फ़्रेमवर्क है. यह सहयोग, बिना डेटा को नुकसान पहुंचाए एडिट करने, और ग्राफ़िक्स डेटा के बारे में कई नज़रियों और राय देने की सुविधा पर फ़ोकस करता है. यह इंडस्ट्री स्टैंडर्ड है. इसे Pixar, Autodesk, Nvidia वगैरह जैसे कई प्लैटफ़ॉर्म पर इस्तेमाल किया जा सकता है. वेब पर इसकी सहायता अभी शुरू नहीं हुई है, लेकिन Autodesk ने पहले ही वेब पर आधारित USD व्यूअर को ओपन सोर्स कर दिया है. इसे यहां देखा जा सकता है.
CanvasKit
CanvasKit, Skia है. यह Chrome और Android का रेंडरिंग इंजन है, जिसे सीधे WebAssembly में कंपाइल किया जाता है. इसकी मदद से, आपको Skia रेंडरिंग इंजन की सभी सुविधाओं का ऐक्सेस मिलता है. इसके लिए, आपको JavaScript API का इस्तेमाल करना होगा. इस सुविधा में, कॉम्प्लेक्स रेंडरिंग, टेक्स्ट शेपिंग, ऐनिमेशन, इनकिंग वगैरह शामिल हैं. npm पैकेज और क्विकस्टार्ट गाइड देखें.
TensorFlow.js
TensorFlow.js, एक आसान JavaScript API की मदद से TensorFlow की सुविधाओं को सीधे ब्राउज़र में उपलब्ध कराता है. यह परफ़ॉर्मेंस को बेहतर बनाने के लिए, जीपीयू और सीपीयू, दोनों के लिए मॉडल ऑप्टिमाइज़ करता है. इसमें SIMD ऑप्टिमाइज़ेशन भी शामिल है. शुरू करने की गाइड देखें या सीधे तौर पर उनके कुछ डेमो देखें.
OpenCV
OpenCV, प्रोग्रामिंग फ़ंक्शन का इंडस्ट्री स्टैंडर्ड है. इसका इस्तेमाल मुख्य तौर पर रीयल-टाइम कंप्यूटर विज़न के लिए किया जाता है. यहां इस्तेमाल में आसान npm पैकेज दिया गया है. साथ ही, Emscripten के उपयोगकर्ताओं के लिए पूरा बिल्ड करने के बारे में पूरी जानकारी भी दी गई है. SIMD और थ्रेड, इन वर्कलोड की परफ़ॉर्मेंस को कैसे बेहतर बना रहे हैं, यह जानने के लिए Modern WebAssembly Chrome Dev Summit टॉक का यह सेक्शन देखें.
कोकोस
Cocos एक बेहतरीन और लोकप्रिय गेम इंजन है. इसकी मदद से, डेवलपर अलग-अलग प्लैटफ़ॉर्म पर काम करने वाले गेम बना सकते हैं. इसमें अब वेब भी शामिल है. यह उन गेम इंजन की लंबी सूची में शामिल हो गया है जो wasm की मदद से वेब एक्सपोर्ट की सुविधा देते हैं. शुरू करने के लिए, Cocos एडिटर में जाएं और इन निर्देशों का पालन करें.
नतीजा
इन उदाहरणों के अलावा, वेब के नए फ़ंक्शन की रफ़्तार को बदलने की WebAssembly की क्षमता के बारे में बहुत कुछ उत्साहित करने वाला है. Chrome ने ऐडवांस वेब ऐप्लिकेशन फ़ंड भी सेट अप किया है. इससे डेवलपर को अपने काम के लिए फ़ंड मिल सकता है, ताकि वे सभी डेवलपर के लिए वेब की सुविधाओं को बेहतर बना सकें!
Pexels से ली गई हीरो इमेज, जिसे ऐन मैरी केनन ने बनाया है.