Több mint két évtizeden át a JavaScript volt az egyetlen programozási nyelv, amely futni tudott a böngészőkben. Más nyelvek, mint például a Python, a C++ és a Go, főként a webalkalmazások és -szolgáltatások szerveroldalának kialakítására szolgáltak.
A JavaScript elég jól sikerült, de sok más programozási nyelv gyorsabb. A webalkalmazások számos előnyt élvezhetnek, ha más, nagyobb teljesítményű programozási nyelveket futtatnak közvetlenül a böngészőben.
A WebAssembly hatékony, nyitott és biztonságos lehetőséget kínál, amely a nyílt webes platform része. Használhatja böngészőkön, kiszolgálókon és más környezetekben futó alkalmazások létrehozására.
Bemutatkozik a WebAssembly
A WebAssembly (WASM) egy hatékony, alacsony szintű, hordozható W3C szabványos nyelv. Kódformátumot és interfészeket határoz meg a programok számára, amelyek interakcióba léphetnek a weben lévő platformokkal.
A legtöbb programozási nyelvet a WebAssembly bináris kódformátumába fordíthatja. A böngészők ugyanúgy értelmezhetik és futtathatják az eredményül kapott WASM kódot, mint a normál JavaScript esetében. A WebAssembly a JavaScript kód mellett is futtatható a nagyobb alkalmazásteljesítmény és a kettő közötti együttműködés érdekében.
A WebAssembly 2019-ben a W3C szabványává vált, számos programozási nyelv támogatásával. Alapján WebAssembly segítségével készült, már számos népszerű projekt létezik, amelyek a WebAssembly segítségével gyors, biztonságos szoftvereket szállítanak felhasználóiknak.
Sok programozási nyelv, köztük a szerveroldaliak is, támogatja a WebAssembly-t. Ezek közé tartozik a Rust, a Go, a Python, a C++, a TypeScript, a Java, a PHP és a Ruby. Nézze meg a awesome-wasm-langs erőforrás hogy megismerje a WebAssembly által támogatott nyelveket és a velük használható csomagokat.
Íme egy példa WebAssembly program a Tutorials Pointtól amely maximum két egész számot ad vissza:
A WebAssembly szintaxisa a JavaScripthez képest viszonylag bőbeszédű, de ez nem lehet probléma. Nem kell megtanulnia a szintaxist, mivel a WebAssembly lesz a fordítási cél az Ön által preferált nyelven írt programok számára.
Hogyan működik a WebAssembly
A WASM más programozási nyelvek fordítási célpontjaként létezik. Be lehet írni kedvenc programozási nyelved és fordítsa le a forráskódot az ügyfélen futó WASM bájtkódra. A natív gépi kódra való lefordítás azt jelenti, hogy nagy sebességgel futhat, általában gyorsabban, mint a JavaScript.
A WASM egyik kritikus jellemzője a JavaScript együttműködési képessége. A WASM-modulokat webalkalmazásba importálhatja, és megjelenítheti a WASM-függvényeket JavaScript-kódban való használatra. A JavaScript keretrendszerek kihasználhatják a WASM előnyeit a nagyobb teljesítmény érdekében.
A WASM a JavaScripthez hasonló sandbox-végrehajtási modellt használ. A WASM olyan ABI-k (Application Binary Interface) segítségével lép kapcsolatba a gazdagéppel, mint a WebAssembly rendszerfelület amely hozzáférést biztosít az erőforrásokhoz és egyéb rendszerszolgáltatásokhoz a program követelményei alapján.
Számos modern böngésző támogatja a WASM-et, köztük a Chrome, a Microsoft Edge, a Mozilla Firefox, az Opera és a Safari. Olyan nyelvek, mint a Go és Rozsdatámasztó WASM ki a dobozból.
Miért van szüksége a webnek WebAssembly-re?
A JavaScript korlátozott funkcionalitással rendelkezik a tervezés miatt. Ez nem tartozik a a leggyorsabb vagy a legjobban teljesítő nyelvek mivel a web szkriptnyelveként indult. Bár sok olyan futtatókörnyezet létezik, ahol a JavaScript változó sebességgel fut, vannak gyorsabbak és többek olyan teljesítő nyelvek, amelyeket a WebAssembly az internetre tud vinni olyan felhasználási esetekben, mint a játékok, videók és zene.
A WebAssembly nagyobb hordozhatóságot és rugalmasságot kínál az interneten nem futó nyelvek számára is. Több nyelv bevezetése a weben (a legnépszerűbb nyílt forráskódú platformon) összességében jobb élményt fog eredményezni.
A WebAssembly elfogadása gyors ütemben zajlik
Sok vállalat és fejlesztő készít alkalmazásokat a WebAssembly segítségével. A Google, a Dropbox és a Cloudflare egyes alkalmazásaiban aktívan használja a WebAssembly-t.
A WebAssembly népszerű a Python, C++ és Rust fejlesztők körében. A Python fejlesztők általában Pyoidide és PyScript, C++ fejlesztők és Emscripten, valamint Rust fejlesztők Percy, Yew, Sycamore, MoonZoon és Seed keretrendszerrel.