Google, Microsoft e Mozilla insieme per WebAssembly, il bytecode per velocizzare il web
I tre guru della categoria dei web browser hanno imbastito una partnership per dare alla luce, insieme al team WebKit, un nuovo progetto per rendere più veloce e versatile il web
di Nino Grasso pubblicata il 19 Giugno 2015, alle 11:31 nel canale WebMicrosoftGoogleMozilla










FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7
Fondazione Chips-IT, l'Italia alla riscossa nei chip. Il piano e la partnership EssilorLuxottica
Nutanix: innovazione, semplicità e IA al centro della strategia hybrid multicloud
La versione Global dello Xiaomi Pad 8 Pro è pronta: tanta potenza per conquistare il mercato
Aumento di prezzo in arrivo per la Nintendo Switch 2: è tutta colpa delle memorie
Samsung Galaxy S26 Ultra, nuove conferme sulla scheda tecnica: la ricarica sarà più veloce
Robot aspirapolvere ancora ai prezzi del Black Friday: 7 modelli top, inclusi ECOVACS DEEBOT T80 OMNI e DREAME L40 Ultra AE
Un sacco di dispositivi Ring scontati su Amazon, da 34€ in su: videocitofoni, allarmi e telecamere smart, sicurezza a basso costo
Hisense HS3100 a meno di 100€ su Amazon: soundbar 3.1 con subwoofer wireless da 480W
Tomb Raider Catalyst è il sequel che nessuno si sarebbe mai aspettato dopo quasi 20 anni
Logitech G Yeti GX in offerta su Amazon: microfono RGB per streaming e gaming a 83,69€
Le Sony INZONE H5 scendono a 99€ su Amazon: sono le cuffie wireless gaming con audio 360° e microfono AI
Macbook Air M4 a 899€, Macbook Pro M5 -170€, MacBook Pro M4 a 1.499€: chi vuole un portatile Apple su Amazon risparmia
iPhone 17 su Amazon: tornano le offerte sui modelli più richiesti (anche Pro Max da 512 GB)
Chip occidentali nei missili russi: cause civili contro Intel, AMD e Texas Instruments
La nuova generazione di AirTag è quasi pronta: ecco le possibili novità
Utah, scoperto un grande giacimento di terre rare: Silicon Ridge sfida il monopolio cinese









49 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoMolti degli utenti di Internet nemmeno sanno cosa significhi protocollo. Noi sappiamo che il web è solo una parte di Internet, ma, in percentuale, quanti altri lo sanno? C'è gente che non sa nemmeno che non esiste solo Google come motore di ricerca, di che stiamo parlando?
Chiaramente, va detto che bisogna vedere cosa sarà questo WebAssembly, all'atto pratico. Per ora parliamo molto di aria fritta.
Ma infatti, non è importante che debbano saperlo, l'importante è che si possa, sarà poi il singolo utente a decidere del proprio uso della Rete. Così come era in passato, dove per fare tante cose dovevi, per forza di cose, applicarti almeno un minimo. L'importante è che vi sia sempre una "via di fuga" per l'uso "alternativo" della rete.
Fidati, non introdurrà niente che possa ridurre al singolo utente il suo spazio di manovra.
Detto questo penso che andrebbe approfondito quali problematiche di sicurezza questo approccio possa portare.
Tra l'altro trattandosi di codice C/C++ probabilmente la sua diffusione all'interno di progetti avverrà tramite librerie di componenti, non soltanto per comodità, ma per praticità.
Io speravo in un ritorno delle Java Applet*
* Era la via giusta solo con fu mai granchè ottimizzata e non era realmente interoperabile con l'HTML, ma se avessero voluto si poteva fare! Sun sembrava avere sempre buone idee, ma poi le lasciava lì... lo stesso Java - un gioello - prima dell'arrivo di Oracle pareva abandonware
Infatti non lo è. Funziona così: se il browser supporta WebAssembly, il binario viene immediatamente convertito nella sua rappresentazione interna (bytecode o direttamente in codice nativo tramite JIT). Se non c'è il supporto, c'è un piccolo stub scritto in Javascript che si occupa di convertire il binario in codice Javascript (e da lì di nuovo parsing, e trasformazione in bytecode o codice nativo).
Magari senza l'enorme framework di Java e con una virtual machine più moderna e orientata prettamente alla compilazione in codice nativo, anziché con interprete.
Il problema è che Java è divenuta una piattaforma enorme e complessa. E' come se fosse un s.o. che gira dentro un s.o..
Molto meglio pensare a una virtual machine più semplice, con un set di librerie più ridotto. Visto che un browser deve avere a che fare col DOM & HTML, ovviamente tutte queste funzionalità andrebbero integrate.
Se questo progetto dovesse prendere piede ho idea che il progetto DART potrebbe essere abbandonato, anche perchè ha incontrato l'ostilità degli altri competitor (che non intendono supportarlo e che, a differenza di Google, non ritengono che per superare gli attuali limiti di JS occorra passare ad un altro linguaggio).
Casomai il contrario, il webassembly punta, come l'assembly, ad essere un qualcosa ottenuto dalla compilazione, quindi un linguaggio che compilato offra il web assembly. Ad oggi si fa la stessa cosa, solo che il codice risultante è javascript (nessun guadagno prestazionale). In questo modo invece avresti sia guadagno prestazionale che la possibilità di sceglierti il linguaggio. Potremmo così finalmente trovarci roba come c# web, ruby web e via dicendo. Nota che ad oggi per qualsiasi progetto grosso sia ha sempre una pipeline di compilazione del javascript di qualche tipo, almeno per concatenare i file.
In che senso "il contrario"?
Escludendo i plugin, oggi il codice oggi viene scritto o compilato in HTML+JS per essere dato in pasto a tutti i browser.
Con DART Google vuole (voleva?) sostituire JS con un linguaggio più "potente" ed adatto al web moderno (eseguibile direttamente dai browser, con tanto di traduttore in JS da usare nel frattempo), ma mi pare evidente come questo progetto superi queste intenzioni e le due tecnologie risulterebbero essere ridondanti.
Quello che mi chiedevo è se l'apertura di questo progetto significa la morte di DART.
Per come la vedo io questo progetto ha lo stesso scopo, con in più il vantaggio delle prestazioni.
Certo, le differenze ci sono. Mentre oggi ci sono alcuni framework che permettono di usare altri linguaggi per scrivere codice web, nel caso di webassembly l'uso di altri linguaggi diventerebbe una prassi.
Mi chiedo però che ripercussioni questo possa avere sulla leggibilità del codice e se ci saranno strumenti che permetteranno di metterci mano. Già oggi il codice compilato per il web può essere offuscato, ma difficilmente queste tecniche sono utilizzate al di fuori delle applicazioni web complesse.
Escludendo i plugin, oggi il codice oggi viene scritto o compilato in HTML+JS per essere dato in pasto a tutti i browser.
Con DART Google vuole (voleva?) sostituire JS con un linguaggio più "potente" ed adatto al web moderno (eseguibile direttamente dai browser, con tanto di traduttore in JS da usare nel frattempo), ma mi pare evidente come questo progetto superi queste intenzioni e le due tecnologie risulterebbero essere ridondanti.
Quello che mi chiedevo è se l'apertura di questo progetto significa la morte di DART.
Per come la vedo io questo progetto ha lo stesso scopo, con in più il vantaggio delle prestazioni.
Meglio WebAssembly che consente di svincolarsi dal linguaggio.
Mi chiedo però che ripercussioni questo possa avere sulla leggibilità del codice e se ci saranno strumenti che permetteranno di metterci mano. Già oggi il codice compilato per il web può essere offuscato, ma difficilmente queste tecniche sono utilizzate al di fuori delle applicazioni web complesse.
In questo caso il binario generato da/per WebAssembly sarà ancora più offuscato, perché non hai codice, ma soltanto (!) una rappresentazione più a basso livello di esso, sotto forma di AST.
Per i non addetti ai lavori, rozzamente di un qualunque codice sorgente viene eseguito il parsing, che genera una struttura dati in memoria chiamata AST (Abstract Syntax Tree), dalla quale è di gran lunga più facile ed efficiente interpretare o compilare.
Per cui è ovvio che il codice originale sarà andato perso, e ci sarà ben poco di leggibile, ma in sostanza quel che conta è tutto ancora lì (parliamo di una rappresentazione di ben più alto livello rispetto a un binario per un'architettura).
Questo significa che è comunque ancora possibile "giocarci" in qualche modo, manipolando l'AST per farci quel che si vuole, prima di darlo in pasto all'interprete o al compilatore.
Per essere chiari, è ancora abbastanza facile intercettare qualche chiamata "indigesta" e rimpiazzarla con... niente
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".