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










ASUS Zenbook A14: ora con Snapdragon X2 Elite
Dentro il Mondiale 2026: come l’IA di Lenovo riscrive arbitraggio e analisi tattica
Recensione realme C100 5G: batteria enorme e resistenza militare su un entry-level 5G
Schede video, un business secondario per NVIDIA: la conferma definitiva arriva dall'ultima trimestrale
Denuvo spunta all'ultimo secondo in 007 First Light: community infuriata
Dietro il prezzo degli HDD ci sarebbe un cartello durato 13 anni: scatta la class action
ASUS prepara una GeForce RTX 5090 ROG Astral BTF in edizione celebrativa per i 20 anni di ROG
Le 15 offerte top Amazon del weekend, rinnovate: novità in posizione 1, 3 e 8 e conferme fra e-bike, mini PC, Dyson, DJI e altro
Da 499€ su Amazon: 3 robot tagliaerba ECOVACS Goat con navigazione satellitare e LiDAR, addio alla fatica e ai fili perimetrali
2 scope elettriche a ottimi prezzi su Amazon: Dreame H12 Pro FlexReach vs Tineco FLOOR ONE S5 STEAM
Fable arriverà già nel 2026: Playground Games svela i suoi piani
Scopa elettrica super potente, 580W e 55.000Pa, su Amazon oggi a soli 94,99€ grazie a un coupon da 70€
Il primo tablet con display pieghevole è quasi pronto e non sarà realizzato da Samsung o Apple
Climatizzatore COMFEE’ 12000 BTU Inverter in offerta Amazon: Wi-Fi, pompa di calore, solo 299€, pochissimo
Nubia Air Pro: lo smartphone da 5,99 mm di spessore e batteria da 5.000 mAh arriva in Italia
Samsung batte Apple per soddisfazione del cliente tra i consumatori americani
Iliad non si ferma più: l'operatore ha appena chiuso un altro trimestre da record









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".