Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Walt: sintassi alternativa per WebAssembly

Walt offre una sintassi alternativa per il formato di testo di WebAssembly, più familiare per gli sviluppatori Javascript.
Walt: sintassi alternativa per WebAssembly
Walt offre una sintassi alternativa per il formato di testo di WebAssembly, più familiare per gli sviluppatori Javascript.
Link copiato negli appunti

Dopo aver analizzato l'incremento di popolarità di WebAssembly, vediamo subito come molti sviluppatori stiano dedicando il loro tempo a questo astro nascente.

Un team di sviluppatori capitanato da Arthur Buldauskas ("Ballercat") sta mettendo a punto Walt, una sorta di sintassi alternativa per il formato di testo di WebAssembly. L'obiettivo è quello di creare una sorta di ulteriore, nuovo livello tra Javascript e WebAssembly, come si dice in gergo "close to the metal as possible". Con questa espressione si intende la capacità di un software o di un linguaggio di programmazione di avvicinarsi e manipolare le risorse più interne di un elaboratore, come la RAM, la CPU con i suoi registri interni ed i registri di hardware.

Assembly può spingersi oltre, manipolando la RAM ed accedendo direttamente ai registri interni della CPU eseguendo istruzioni native, come lo zero-overhead looping.

I file .walt vengono compilati direttamente nel formato binario di WebAssembly. Scrivere codice WebAssembly zero-overhead ed ottimizzato è un compito arduo per lo sviluppatore. E' possibile scrivere codice C nativo, compilare in .wast, ottimizzare il risultato ed infine compilarlo nel WebAssembly binario conclusivo. Purtroppo molti sviluppatori Web non hanno molta familiarità né dimestichezza con i linguaggi della famiglia C o Rust, tuttavia secondo Buldauskas un programmatore front-end deve necessariamente essere in grado di utilizzare WebAssembly cosi come usa altri strumenti di sviluppo.

In questo modo nasce la sua idea: utilizzare quanta più sintassi Javascript possibile in WebAssembly, attraverso il livello aggiuntivo menzionato precedentemente. Questa "miglioria" nella sintassi permette un controllo più avanzato anche nell'output di WebAssembly e dona maggiore confidenza agli sviluppatori Web che si esprimono con Javascript.

Il seguente snippet mostra un modulo .walt che esporta la classica funzione ricorsiva di Fibonacci:

export function fibonacci(n: i32): i32 {
if (n <= 0) return 0;
if (n == 1) return 1;
return fibonacci(n - 1) + fibonacci(n - 2);
}

Quando questo codice è eseguito attraverso il compiler walt viene prodotto un buffer che può dunque essere utilizzato per creare un modulo in WebAssembly con il contenuto indicato (un export della funzione ricorsiva di Fibonacci), il tutto utilizzando una sintassi simile a quella Javascript e senza toolkit binari esterni.

Lo scopo finale di Walt è dunque rendere WebAssembly (maggiormente) accessibile allo sviluppatore Javascript comune, fornendo un subset di sintassi Javascript-like che compila direttamente su WebAssembly.

Nella pagina ufficiale del progetto, è possibile trovare un'ottima documentazione, compresa di wiki, getting start guide con cui è possibile utilizzare subito Walt in un progetto semplice e perfettamente funzionante (seguendo passo passo le istruzioni dettagliate fornite dalla guida), roadmap e possibilità contribuire alla struttura del progetto.

Via Walt

Ti consigliamo anche