WebAssembly (.wasm)
वेब ब्राउज़र में नेटिव स्पीड पर कोड निष्पादित करने के लिए एक बाइनरी इंस्ट्रक्शन फॉर्मेट। WebAssembly C/C++, Rust और अन्य भाषाओं को वेब पर चलाने की अनुमति देता है।
MIME Type
application/wasm
प्रकार
बाइनरी
संपीड़न
दोषरहित
लाभ
- + Near-native execution speed in web browsers
- + Compile from C, C++, Rust, Go, and more
- + Sandboxed execution for security
- + Portable — runs in browsers and server-side via WASI
हानियाँ
- − No direct DOM access — requires JavaScript interop
- − Debugging is harder than JavaScript
- − Binary format is not human-readable
.WASM कब उपयोग करें
ब्राउज़र में हाई-परफॉर्मेंस ऐप्लिकेशन (गेम, इमेज/वीडियो एडिटिंग), सर्वर-साइड (WASI), एज कंप्यूटिंग, और ऐसे प्रोजेक्ट जहाँ C/C++/Rust कोड वेब पर चलाना आवश्यक हो।
तकनीकी विवरण
WebAssembly बाइनरी (.wasm) magic number (00 61 73 6D) + version (01 00 00 00) + sections (type, function, table, memory, global, export, code) से बना होता है। स्टैक-आधारित वर्चुअल मशीन, i32/i64/f32/f64 टाइप, लीनियर मेमोरी और sandboxed execution मॉडल है।
इतिहास
W3C ने 2015 में WebAssembly प्रोजेक्ट शुरू किया, जो Mozilla (asm.js), Google (PNaCl) और Microsoft के सहयोग से था। 2017 में सभी प्रमुख ब्राउज़रों ने WebAssembly को सपोर्ट किया। W3C ने 2019 में इसे आधिकारिक रिकमेंडेशन बनाया। WASI ने WebAssembly को ब्राउज़र के बाहर ले आया।