WebAssembly aka wasm යනු JavaScript හැර වෙනත් programming languages වලින් ලියලා තියෙන code call/import කරන්න හා browser ඇතුලේ ඒ code run  කරන්න හදපු විදිය. ඉතිං JavaScript එක්ක බැලුවහම wasm වේගවත්. Mozilla research වැඩ කරන Luke Wagner කියන මහත්තයා 2015 දී තමයි මුලින්ම WebAssembly කියනදේ ලෝකෙට හදුන්වා දෙන්නේ.

2019 දෙසැම්බර් 5 - World Wide Web Consortium (W3C)  නිවේදනය කලා Browser run කරන්න ඉඩ දෙන හතරවෙනි භාෂාව විදියට WebAssembly. ඉතිං Developers ලා එකම application WebAssembly සහ JavaScript යන දෙකම පාවිච්චි කරාවි. හරියට නිකං CSS import කරලා පාවිච්චි කරනවා වගේ.

How does it work?

C/C++ හෝ Rust code, wasm වලට compile කරලා JavaScript app load කරලා වැඩ කරගන්න පුලුවම්.

Compiling to .wasm

  • C/C++ - LLVM වල clang front-end / Emscripten emcc
  • Rust - Cargo වල wasm-pack package

WASI - WebAssembly Interface Types

Browser පිටත WebAssembly run කරන්න පුලුවම් වෙන්න ඕනි.

WebAssembly තමන්ගේම standalone runtime run විතරක් නෙමෙයි. Python, Ruby, and Rust languages වලිනුත්  WebAssembly run ඕනි.

එහෙම කරන්න ඕනි ඇයි?

  • “native” modules වල සංකිරණ තාවය අඩු කරන්න
  • Native code sandbox කරීම පහසු කරන්න
  • Platforms අතර native code share කරන්න

>> Don't forget to say hello to the search box for further details.