Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

I over to årtier var JavaScript det eneste programmeringssprog, der kunne køre i browsere. Andre sprog som Python, C++ og Go var primært til at bygge serversiden af ​​webapplikationer og tjenester.

JavaScript klarede sig ret godt, men mange andre programmeringssprog er hurtigere. Der er mange fordele, som webapps kan drage fordel af ved at køre andre, mere effektive programmeringssprog direkte i browseren.

WebAssembly tilbyder en effektiv, åben og sikker mulighed, der er en del af den åbne webplatform. Du kan bruge det til at bygge applikationer, der kører på browsere, servere og i andre miljøer.

Introduktion til WebAssembly

WebAssembly (WASM) er et effektivt, bærbart W3C-standardiseret sprog på lavt niveau. Den definerer et kodeformat og grænseflader til programmer, der kan interagere med platforme på nettet.

Du kan kompilere de fleste programmeringssprog til WebAssemblys binære kodeformat. Browsere kan fortolke og køre den resulterende WASM-kode, ligesom de gør med almindelig JavaScript. Du kan også køre WebAssembly sammen med JavaScript-kode for højere app-ydeevne og interoperabilitet mellem de to.

instagram viewer

WebAssembly blev en W3C-standard i 2019 med support på mange programmeringssprog. Ifølge Lavet med WebAssembly, er der allerede mange populære projekter, der bruger WebAssembly til at sende hurtig, sikker software til deres brugere.

Mange programmeringssprog, inklusive dem, der er specifikke på serversiden, understøtter WebAssembly. Disse inkluderer Rust, Go, Python, C++, TypeScript, Java, PHP og Ruby. Tjek ud awesome-wasm-langs ressource for at lære om de WebAssembly-understøttede sprog og de pakker, du kan bruge med dem.

Her er et eksempel WebAssembly-program fra Tutorials Point der returnerer maksimalt to heltal:

WebAssembly-syntaksen er relativt omfattende sammenlignet med JavaScript, men det burde ikke være et problem. Du behøver ikke at lære syntaksen, da WebAssembly vil være kompileringsmålet for de programmer, du skriver på dit foretrukne sprog.

Sådan fungerer WebAssembly

WASM eksisterer som et kompileringsmål for andre programmeringssprog at transpilere til. Du kan skrive ind dit foretrukne programmeringssprog og kompiler kildekoden til WASM bytecode, der kører på klienten. At oversætte det til indbygget maskinkode betyder, at det kan køre med høj hastighed, typisk hurtigere end JavaScript.

En af de kritiske funktioner ved WASM er JavaScript-interoperabilitet. Du kan importere WASM-moduler til en webapplikation og afsløre WASM-funktionerne til brug i JavaScript-kode. JavaScript-rammer kan drage fordel af WASM til højere ydeevne.

WASM bruger en udførelsesmodel i sandkasse, der ligner JavaScript. WASM interagerer med værtsmaskinen ved hjælp af ABI'er (Application Binary Interface) som f.eks WebAssembly System Interface der giver adgang til ressourcer og andre systemtjenester baseret på programmets krav.

Mange moderne browsere understøtter WASM, herunder Chrome, Microsoft Edge, Mozilla Firefox, Opera og Safari. Sprog som Go og Ruststøtte WASM ud af boksen.

Hvorfor internettet har brug for WebAssembly

JavaScript har begrænset funktionalitet ved design. Det er ikke en af ​​de hurtigste eller mest effektive sprog siden det startede som et scriptsprog til nettet. Selvom der er mange runtimes, hvor JavaScript kører med varierende hastigheder, er der hurtigere og flere effektive sprog, som WebAssembly kan bringe til nettet til brugssituationer som spil, videoer og musik.

WebAssembly tilbyder også mere portabilitet og fleksibilitet til sprog, der ikke kører på nettet. Introduktion af flere sprog til internettet (den mest populære open source-platform) bør resultere i en forbedret oplevelse generelt.

WebAssembly-vedtagelsen går hurtigt

Mange virksomheder og udviklere bygger applikationer med WebAssembly. Google, Dropbox og Cloudflare bruger aktivt WebAssembly i nogle af deres applikationer.

WebAssembly er populær blandt Python-, C++- og Rust-udviklere. Python-udviklere bruger almindeligvis Pyoidide og PyScript, C++-udviklere og Emscripten, og Rust-udviklere med Percy, Yew, Sycamore, MoonZoon og Seed-rammeværket.