WebAssembly
| WebAssembly | ||
|---|---|---|
|
| ||
| ? | ||
| Generel information | ||
| Almindelige udvidelser | .wast, .wasm | |
| Paradigme | Imperativ , ustruktureret | |
| Dukkede op i | 2015 | |
| type system | Statisk , stærk | |
| påvirket af | asm.js | |
| Licens | apache licens | |
WebAssembly , forkortet wasm, er et bærbart binært kode ( bytecode ) format til fuld browserudførelse af klientsidescripts .
Det er et sprog på lavt niveau , oprindeligt designet som et målformat til kompilering fra C og C++ . Selvom det også understøtter kildekode til andre sprog, såsom Rust og Go . [ 1 ] [ 2 ] [ 3 ]
Design
WebAssembly er udtænkt som en bærbar stackmotor , designet til at parse syntaktisk hurtigere end Javascript og forbedre eksekveringshastigheden.
Historie
WebAssembly blev annonceret den 17. juni 2015. En demo, der kører Unity's Angry Bots på Firefox , Chromium , Google Chrome og Microsoft Edge , blev lavet den 15. marts 2016 . [ 4 ] [ 5 ] [ 6 ] [ 7 ]
I 2019 blev Bytecode Alliance- virksomheden oprettet, som har til formål at fremme brugen af sproget og fremme solidt grundlag for ikke kun at designe mobile applikationer, men også at bruge forskellige udviklingsstandarder; mobiltelefoner og stationære computere samt browsere ( Edge og Safari ) [ 8 ]
Udvikling
Den indledende implementering af support til WebAssembly i browsere vil være baseret på formaterne asm.js, understøttet af Mozilla og PNaCl (Portable Native Client), foreslået af Google. Efter at have frigivet en MVP- version foreslås det at inkorporere affaldsindsamling , [ 9 ] , som vil tillade sprog med dette system, såsom Java eller C#, at blive kompileret til at generere wasm-kode.
Holdet, der er involveret i udviklingen af WebAssembly, omfatter personer, der er knyttet til Mozilla , Microsoft , Google eller Apple .
Referencer
- ^ "WebAssembly-mål på højt niveau" . GitHub /WebAssembly/design . 11. december 2015.
- ↑ "Annoncer Rust 1.14" . Rust-programmeringssprogsbloggen . 22. december 2016.
- ^ "Go 1.11 er udgivet - The Go Blog" . blog.golang.org . 24. aug 2018.
- ^ "Startfejl" . GitHub /WebAssembly/design . 11. juni 2015.
- ↑ Wagner, Luke (14. marts 2016). "En WebAssembly Milepæl: Eksperimentel støtte i flere browsere" . Mozilla Hack .
- ^ Thompson, Seth (15. marts 2016). "Eksperimentel understøttelse af WebAssembly i V8" . V8Blog .
- ↑ Zhu, Limin (15. marts 2016). "Visning af WebAssembly-eksperimenter i Microsoft Edge" . Microsoft Edge-udviklerblog .
- ↑ "Bytecode Alliance: Dette nye projekt for at bringe web Assembly til cross-browser og cross-platform miljøer." .
- ^ "WebAssembly/design" . GitHub (på engelsk) . Arkiveret fra originalen den 5. juli 2016 . Hentet 8. april 2017 .