WebKit è attualmente il Web Browser Engine di riferimento per diversi browser, per fare un esempio il progetto Chromium si basava proprio su WebKit prima di integrare un fork di quest'ultimo chiamato Blink; la sua licenza open source permette infatti ai vari team di sviluppo di personalizzarlo adattandolo alle proprie esigenze. Di recente i developer di WebKit hanno rilasciato un nuovo update che introduce il pieno supporto a WebAssembly.
WebAssembly è un formato per lo scripting client side in-browser che consente di realizzare Web application in modo più semplice e veloce rispetto ad una soluzione più tradizionale come Javascript. Un'integrazione completa con il motore WebKit renderà quindi WebAssembly uno strumento ancora più appetibile per i vari developer di terze parti.
L'implementazione di WebAssembly all'interno di WebKit è stata realizzata tramite un layer di astrazione molto simile a quello che viene già utilizzato nel caso di Javascript. Alla base di tutto vi è un tiering system che viene usato anche per bilanciare i costi di startup.
Per WebAssembly vengono utilizzati nello specifico due tiers: BBQ (Build Bytecode Quickly) e OMG (Optimized Machine-code Generator). Il primo si occupa di generare il codice in modo veloce, mentre il secondo s'incarica di ottimizzarlo per l'ambiente di sviluppo in cui si sta operando nel momento corrente.
Gli sviluppatori del Web engine chiariscono però da subito che il supporto per WebAssembly non è stato implementato o pensato per una sostituzione completa di Javascript.
A questo proposito infatti, il team del progetto suggerisce di utilizzare WebAssembly in associazione a Javascript. WebAssembly si dovrebbe occupare soltanto di ciò che gli riesce meglio, ovvero accelerare i task computation intensive, lasciando il resto a Javascript. Dunque l'idea dei creatori di WebKit è quella di sfruttare i punti di forza di entrambe le applicazioni per realizzare applicazioni sempre più avanzate.
Via WebKit