È uscito il Corso SQL Completo

Introduzione a WebAssembly

Cos’è WebAssembly (Wasm)?

WebAssembly è un formato di istruzioni binario per una macchina virtuale basata su stack. È progettato come target portabile per la compilazione di linguaggi ad alto livello come C, C++, Rust e AssemblyScript, consentendo il deployment sul web per applicazioni client e server.

Non Sostituisce JavaScript

Wasm è progettato per cooperare con JavaScript, non per sostituirlo. I casi d’uso tipici sono task CPU-intensive:

  • Editing video/audio.
  • Crittografia.
  • Compressione dati.
  • Giochi (motori fisici, AI).
  • Visione artificiale.

Come Funziona?

  1. Scrivi codice in C, Rust, Go, ecc.
  2. Compili il codice in un file .wasm.
  3. Il browser scarica ed esegue il file .wasm in una sandbox sicura.

```javascript // Esempio di caricamento Wasm in JS const importObject = { imports: { imported_func: (arg) => console.log(arg) }, };

WebAssembly.instantiateStreaming(fetch(“simple.wasm”), importObject).then( (obj) => obj.instance.exports.exported_func(), ); ```