WebAssembly, il nuovo formato binario per il Web

I più grandi produttori di browser si sono riuniti nella WebAssembly Community Group, un team per lo sviluppo di un nuovo formato binario per il Web

WebAssembly, il nuovo formato binario per il Web

Google, Microsoft, Mozilla e gli ingegneri del WebKit Project hanno annunciato poche ore fa il lancio di WebAssembly (wasm), il nuovo formato binario per la compilazione di applicazioni per il Web.

Comunemente il linguaggio utilizzato per la programmazione Web è il JavaScript. Nel corso degli anni però gli sviluppatori si sono trovati a dover affrontare sempre più problematiche riguardo alcune limitazioni che interessano soprattutto la compilazione di altri linguaggi di programmazione in JavaScript. Alcuni di questi progetti si concentrano per lo più sull’aggiunta di nuove funzionalità al linguaggio, come avviene ad esempio per il TypeScript di Microsoft, o sull’accelerazione di JavaScript, come avviene ad esempio per l’asm.js project di Mozilla. Oggi parte di questi progetti sono stati riuniti nel WebAssembly Community Group, un gruppo di lavoro che nell’ambito del W3C intende sviluppare un nuovo formato da utilizzare per compilare e eseguire codice sul Web.

Questo nuovo formato ha l’obiettivo di consentire ai programmatori di compilare il proprio codice all’interno del motore JavaScript. Al momento il focus di WebAssembly è sui linguaggi C e C++, ma presto dovrebbero essere presi in considerazione altri linguaggi di programmazione. A differenza di un parser JS, che richiede molto tempo soprattutto da mobile per essere elaborato, WebAssembly può essere decodificato molto più velocemente.

L’idea dei colossi IT, che hanno preso parte al WebAssembly Community Group, è che wasm possa diventare in futuro uno standard Web implementato in tutti i browser.

WebAssembly: come funziona il nuovo formato binario del Web

Per impostazione predefinita i file JavaScript sono dei file di testo che vengono scaricati dal server, analizzati e compilati dal motore JavaScript del browser. Il team di lavoro di WebAssembly ha scelto di utilizzare un formato binario in quanto tale codice può essere maggiormente compresso rispetto al file di testo JavaScript e il motore può decodificare fino a 23 volte più velocemente un formato di questo genere rispetto al prototipo attuale.

Il progetto asm.js di Mozilla aveva da tempo l’obiettivo di portare la velocità quasi nativa al Web. Sembra ora che WebAssembly possa raccogliere l’eredità e portare avanti il progetto al meglio. Il primo passo del team di sviluppo sarà quello di offrire le stesse funzionalità di asm.js. In questa fase verrà lanciata la cosiddetta polyfill library deputata a tradurre il codice WebAssembly in JavaScript in modo che possa essere eseguito in qualsiasi browser (anche in quelli senza il supporto nativo a wasm).

In un secondo momento il team di sviluppo si concentrerà su alcuni tools (come compiler, debugger eccetera) e sul supporto ad altri linguaggi di programmazione come ad esempio Rust, Go and C#.

Il team di sviluppo di WebAssembly precisa che l’obiettivo non è quello di sostituire JavaScript, ma quello di consentire a molti più linguaggi di programmazione di produrre per il Web. È probabile, infatti, che in futuro wasm venga utilizzato ad esempio per alcuni moduli che riguardano l’animazione, la visualizzazione, la compressione e così via, mentre JavaScript resti ancora il linguaggio principale per l’interfaccia utente.

Poiché non capita spesso di vedere tutti i principali produttori di browser lavorare insieme, si potrebbe ragionevolmente pensare che WebAssembly possa davvero diventare il futuro del Web. Non resta che attendere e vedere come si evolverà il progetto nei prossimi mesi.

Facci sapere cosa ne pensi!

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *