Rilasciato al pubblico Wasmtime 1.0 per diffondere WebAssembly

bytecode alliance logo

WebAssembly (Wasm) è una tecnologia pensata per le applicazioni distribuite via Web, fornendo un’alternativa con performance migliori di quanto JavaScript (JS) possa garantire.

Attenzione ad un dettaglio: non sostituisce JS, ma lo va ad affiancare.

Ne abbiamo parlato (velocemente) qualche anno fa, con l’integrazione della tecnologia in Chrome 57. Poco dopo l’integrazione fu portata su Firefox, e nel giro di un paio d’anni era disponibile anche in Microsoft Edge e Safari di Apple, su tantissime piattaforme e sistemi: Windows, Linux, MacOS, x86, ARM, desktop, cellulareovunque!

Anche stavolta non ci dilungheremo molto. Basti sapere che si tratta di un linguaggio di basso livello compilato (bytecode), che viene eseguito da una specifica Virtual Machine (come Java) integrata nel browser (come JavaScript). L’intento è offrire un mezzo per l’esecuzione efficiente di programmi complessi, senza essere limitati alle prestazioni JavaScript né legati ad uno specifico linguaggio: potenzialmente qualsiasi linguaggio di alto livello (C, C++, .NET, Rust, Go, Python, etc.) può essere compilato per l’esecuzione WebAssembly. Sarà la VM a occuparsi poi della traduzione per lo specifica piattaforma su cui gira il browser, eventualmente interagendo con JavaScript (e il DOM, ovvero quello che il browser deve visualizzare all’utente).

Altra caratteristica: Wasm è open-source, promosso da un consorzio che va sotto il nome di Bytecode Alliance, che comprende nomi di un certo peso: Mozilla, Google, Microsoft, Intel, ARM, solo per fare qualche esempio.
E proprio in seno a questo consorzio esiste il progetto Wasmtime, che potremmo definire come una VM per Wasm standalone, separata da qualsiasi browser. Più o meno quello che è Node.js per JavaScript.

Wasmtime usa Cranelift per generare il codice macchina effettivamente eseguito. Sebbene questo codice risulti leggermente più lento in esecuzione di altre implementazioni, la velocità di compilazione risulta di molto maggiore, spesso risultando più veloce in totale (avvio del programma, compilazione al volo del programma per la macchina e infine esecuzione). Su questo, è disponibile una ricerca molto dettagliata.

Il 20 settembre la Bytecode Alliance ha annunciato la disponibilità generale di Wasmtime 1.0. Non solo: è definita anche “Prodution Ready”. Questo vuol dire che è ritenuto abbastanza stabile e maturo per essere usato da chiunque lo ritenga utile, e non solo per fini di studio.
Il tutto viene dopo circa 3 anni di sviluppo e quasi uno di uso in ambienti di produzione da parte dei membri della Bytecode Alliance, che possono anche testimoniare la validità delle performance. Sì, è un po’ come l’oste che ci dice che il vino è buono, ma in questo caso potemmo fidarci: se non fosse stato buono, l’oste avrebbe perso parecchi soldi.

Un dettaglio però ci preoccupa del modello di Wasmtime, che potrebbe limitare fortemente la diffusione in ambito enterprise: l’eccessiva velocità dei cicli di rilascio.
Infatti è prevista una major ogni mese – cosa già piuttosto strana. Ogni rilascio potrebbe essere incompatibile con la versione precedente – mandando all’aria (potenzialmente) tutto quello che usa o interagisce con Wasmtime.
Si rassicura che ogni release renderà ben chiaro cosa verrà ritoccato, e che si eviteranno il più possibile cambiamenti di compatibilità. Quindi sviluppatori e/o sistemisti dovranno rivedere tutto il software ad ogni aggiornamento, per essere sicuri di non avere impatti. Cosa che, se fatta mensilmente, potrebbe richiedere un effort semplicemente troppo elevato, mentre se fatto a intervalli troppo lunghi (per esempio 6 mesi, che sono normali in produzione) potrebbe portarsi dietro un accumulo di modifiche, con impatti potenziali ancora più elevati.
Altra chicca: il bugfix sarà garantito per l’ultima versione rilasciata e le due precedenti. Sì: ogni 3 mesi il software sarà semplicemente obsoleto.

Viste performance e duttilità, Wasm potrebbe diffondersi davvero ovunque. Il codice sorgente di partenza potrebbe essere uno qualsiasi di quelli compilabili già esistenti; questo codice sarebbe usato per generare i file in bytecode. L’esecuzione reale affidata ad una VM, leggera e performante. Il che vorrebbe dire completare un’impresa non da poco, e riuscire laddove Java ha fallito: essere un metodo universale (o quasi) di distribuzione software.

Wasmtime potrebbe essere un tassello fondamentale per la larga diffusione e l’uso in contesti enterprise (che producono denaro, giusto per esser chiari). Sempre che il ciclo di rilascio venga un po’ rallentato…


Ho coltivato la mia passione per l’informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.

Fonte: https://www.miamammausalinux.org/2022/09/rilasciato-al-pubblico-wasmtime-1-0-per-diffondere-webassembly/

Visited 16 times, 1 visit(s) today
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

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

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.