La scorsa settimana, Google ha implementato la raccolta dei rifiuti WebAssembly (WasmGC) in Chrome, un passo che potrebbe attirare un maggior numero di sviluppatori web verso questa tecnologia.
WasmGC rende più agevole lo sviluppo di applicazioni web avanzate, offrendo una gestione della memoria semplificata, la possibilità di trasferire codice esistente sul web e il supporto per applicazioni real-time più rapide. L’impegno di Google nel supportare WasmGC in Chrome evidenzia la loro fiducia nella piattaforma WebAssembly.
L’aggiornamento potrebbe far vacillare la popolarità di JavaScript, finora ampiamente prediletto per la creazione di pagine web dinamiche.
Un software developer di nome Eloff ha espresso su una piattaforma X: “Il GC di Web Assembly è una svolta. L’assemblaggio web fungeva da set di istruzioni universali per i compilatori, eseguibile ovunque”.
Prima dell’avvento di WebAssembly, JavaScript era praticamente l’unico linguaggio per lo sviluppo web, nonostante non fosse il massimo per prestazioni, specialmente in applicazioni elaborate.
WebAssembly entra in gioco permettendo l’uso di linguaggi di programmazione high-performance per lo sviluppo web, superando i limiti di JavaScript.
L’introduzione della garbage collection in Wasm eleva la tecnologia, liberando gli sviluppatori dalla gestione manuale della memoria e consentendo loro di concentrarsi sulle funzionalità chiave delle applicazioni web.
WasmGC, in particolare, ottimizza l’allocazione e la deallocazione automatica della memoria, e propone una gestione efficiente delle strutture e degli array attraverso l’implementazione GC di Wasm VM. Questo approccio consente di minimizzare il codice di gestione della memoria e di ridurre le dimensioni dei file binari.
Un utente su HackerNews ha commentato: “Pare che JavaScript non sia più l’unica scelta per gli sviluppatori”.
Wasm, compilato da linguaggi come C e C++, si dimostra più rapido di JavaScript, che essendo interpretato, risulta più lento.
La portabilità di WebAssembly è un altro punto di forza, così come la sicurezza garantita dal suo ambiente sandbox, che protegge da varie minacce online.
La garbage collection per Wasm, proposta nel 2017, ha visto la maggior parte dello sviluppo negli ultimi tre anni, culminando nell’adozione predefinita in browser come Chrome, Edge e Firefox.
Sebbene JavaScript e WebAssembly abbiano ruoli diversificati nello sviluppo web, WASM si distingue per velocità e performance, con studi che mostrano un incremento del 30% nell’efficienza energetica rispetto a JavaScript.
A differenza di JavaScript, Wasm è compilabile per diverse architetture hardware, assicurando la portabilità su più dispositivi e piattaforme, e supporta l’interoperabilità tra diversi linguaggi di programmazione.
Wasm offre maggiori vantaggi di sicurezza, grazie al suo ambiente sandbox che limita gli accessi non autorizzati alle risorse di sistema, cruciali per difendersi da attacchi online.
Sounil Yu di JupiterOne ha dichiarato: “Wasm, con il suo limitato set di istruzioni e gestione della memoria, riduce la superficie d’attacco per le vulnerabilità e previene problemi comuni come i buffer overflow”.
Il codice Wasm, non essendo leggibile come JavaScript, offre una maggiore sicurezza per oscurità, rendendo più arduo per gli aggressori decifrare il codice e sfruttare le vulnerabilità.
Nonostante JavaScript rimanga prevalente nello sviluppo web, con oltre il 63% di utilizzo, WebAssembly guadagna terreno, testimoniato dal sondaggio State of WebAssembly del 2022, che ha mostrato che il 67% degli intervistati usa frequentemente WebAssembly, in aumento rispetto al 47% del 2021.
Con l’adozione di WasmGC, si prevede un’ulteriore crescita della popolarità di WebAssembly tra gli sviluppatori web.