Gli specialisti di Mozilla hanno presentato il progetto WASI (WebAssembly System Interface), che prevede lo sviluppo di API per creare applicazioni standard eseguite al di fuori del browser. Si parla inizialmente di cross-platform e di un alto livello di sicurezza per tali applicazioni.

Come si osserva, vengono eseguite in una 'sandbox' speciale e hanno accesso a file, file system, socket di rete, timer e così via. La programma può eseguire solo azioni esplicitamente consentite.
Considerando che il pseudocodice WebAssembly è un'alternativa indipendente dalla piattaforma del linguaggio Assembler, l'uso di JIT consentirà di ottenere prestazioni elevate del codice, a livello di applicazioni native. Attualmente è stata presentata un'implementazione delle API POSIX di base (file, socket, ecc.), ma non supporta ancora i blocchi e l'input/output asincrono. In futuro si prevede l'arrivo di moduli per la crittografia, la grafica 3D, i sensori e i multimedia.

Va anche notato che il progetto Fastly ha presentato il compilatore Lucet per applicazioni WebAssembly. Questo consente di eseguire in modo sicuro programmi esterni in WebAssembly all'interno di altre applicazioni, per esempio, è adatto per i plugin. Il compilatore stesso è scritto in Rust e supporta codice in C, Rust e TypeScript.
Naturalmente, rimangono molte domande sulla sicurezza di tale approccio. L'esecuzione del codice in 'sandbox' si combina in modo piuttosto strano con l'accesso alle funzioni del sistema principale, quindi questa questione richiede ancora chiarimenti. Inoltre, non è chiaro quali programmi dovrebbero funzionare in tale modalità e come si dovrà monitorarne il comportamento.
Fonte: 3dnews.ru
