Descrizione
In questa puntata ci vestiamo da Mario Bros, mettiamo la tutina e la chiave inglese, e scendiamo a basso livello per parlare di WebAssembly. Partiamo dal 1995 con JavaScript che voleva dare dinamicità alle pagine web ma era lentissimo, passiamo per la rivoluzione del JIT compiler nel 2008 che ha trasformato JS nel linguaggio più usato al mondo, fino ad arrivare al 2015 quando WebAssembly è entrato in scena. Se JavaScript ha portato il web nel nativo con Node.js ed Electron, WebAssembly porta il nativo nel web. Parliamo di facial recognition che passa da 3 a 20 frame al secondo, di Unity ed Epic che riscrivono i loro motori 3D per il browser, e di come Netflix potrebbe crearsi il suo codec video proprietario senza dipendere dai browser.
Takeaway
- JavaScript è passato da linguaggio lento e poco amato a linguaggio più diffuso grazie al JIT compiler (2008)
- WebAssembly (2015) è un linguaggio a basso livello che gira nel browser, target di compilazione per C/C++ e altri linguaggi
- Performance fino a 100x rispetto a JavaScript: applicazioni complesse come giochi e motori 3D girano fluidi nel browser
- Permette di sviluppare codec video proprietari senza aspettare che i browser li implementino nativamente
- Tutti i big (Google, Microsoft, Apple, Mozilla) supportano WebAssembly nei loro browser, è uno standard W3C
Bold Opinion
- JavaScript negli anni '90 era così lento che preferivamo Flash e le applet Java (e questo la dice lunga)
- Anche gli hacker non sono stati a guardare: malware e cryptominer hanno subito sfruttato WebAssembly
- WebAssembly apre scenari prima impossibili: ora possiamo portare praticamente qualunque applicazione nel browser