18/06/2015 di Redazione

Ecco WebAssembly, il binario che punta a diventare re di Internet

Google, Microsoft e Mozilla si sono riunite nel progetto WebKit, per sviluppare il prossimo standard della programmazione di applicazioni per il Web. L’obiettivo è triplice: ottenere un’alternativa a JavaScript, velocizzare l’interpretazione di linguaggi

immagine.jpg

Le principali aziende che negli anni hanno sviluppato versioni proprietarie di browser, vale a dire Google, Microsoft e Mozilla – Apple dove sei? – hanno deciso di riunirsi “in assemblea”. È nato infatti WebAssembly (Wasm), un nuovo binario per scrivere e compilare applicazioni destinate al mondo di Internet. Il primo obiettivo che si sono posti i programmatori di questi colossi dell’It, riuniti nel progetto WebKit, è realizzare una nuova entità che supporti inizialmente tutto quello che rientra nel raggio d’azione di asm.js. Di cosa si tratta? Non è un vero e proprio linguaggio di programmazione, ma una sottocategoria di JavaScript (Js) progettata per comportarsi in modo identico sia che venga lanciata all’interno di un motore Js, sia che venga eseguita in un compilatore di tipo ahead-of-time (Aot).

In questo caso si fa riferimento all’atto di compilazione di un linguaggio di alto livello o intermedio nel codice macchina, con lo scopo di eseguire in modo nativo il binario risultante dal processo. Infatti, asm è nato per aumentare le prestazioni delle applicazioni Web scritte con linguaggi sorgenti come C o C++. E sono proprio questi i due formati su cui il gruppo di lavoro si sta concentrando nella prima fase.

Come dichiarato dall’ex Ceo di Mozilla e invetore di JavaScript, Brendan Eich, WebAssembly non sarà però legato vita natural durante a JavaScript, perché sulla lunga distanza l’obiettivo è far divergere il nuovo binario dalla semantica sfruttata da Js. Non senza ambizione, il team di sviluppo punterà a far diventare WebAssembly uno standard per Internet, da implementare di default – sempre che i test abbiano successo – in tutti i browser.

Il ragionamento alla base di questa nuova sfida alla velocità di esecuzione dei codici e alla portabilità è il seguente: JavaScript presenta semplici file di testo che, una volta richiesti dal browser, vengono scaricati dal server di origine, decodificati e ricompilati tramite il motore Js presente nel programma di navigazione. WebAssembly ha puntato al formato binario per aumentare in modo determinante la compressione del codice, velocizzando così anche la decodificazione.

Secondo i primi test condotti da WebKit, con l’attuale prototipo di WebAssembly il tempo di esecuzione si riduce di ben 23 volte rispetto al parsing di JavaScript. Ma, viste le sostanziali differenze tra linguaggi, browser e tecnologie moderne – che spesso fanno impazzire i programmatori –, riuscire a creare un nuovo standard non è facile. A causa soprattutto delle “mancanze” che presentano alcuni programmi per la navigazione. In particolar modo i software più datati.

 

Brendan Eich, ex Ceo di Mozilla e inventore di JavaScript

 

Per esempio, certe funzionalità e caratteristiche di Html5 non sono supportate dalle versioni di Internet Explorer precedenti alla 8. Per questo, gli sviluppatori di WebKit hanno intenzione di lanciare librerie polyfill incaricate di tradurre Wasm in JavaScript, in modo da permettere l’esecuzione praticamente in qualsiasi browser. Una mossa necessaria, in questa prima fase, che consentirà poi di introdurre con calma una serie di strumenti indispensabili ai programmatori, come compilatori e debugger, oltre che un supporto più esteso ad altri linguaggi (Rust, Go e C#). Progetto giustamente ambizioso: si dovrà vedere ora come evolverà.

 

ARTICOLI CORRELATI