Mage Invaders
Uno Space Invaders con i maghi, scritto in React. L'esperimento piu' interessante non e' il gioco: e' quello che e' servito per pubblicarlo senza dipendere da nessuno.
Uno Space Invaders dove al posto delle astronavi ci sono maghi e incantesimi, scritto in React.
La parte interessante e' come e' finito qui
Nato come artefatto, chiedeva quattro librerie a un CDN: React, ReactDOM, Babel e Tailwind. Su questo sito un artefatto non puo' chiamare nessuno — gira isolato, e un file che dipende da un dominio di terzi un giorno si rompe perche' quel dominio ha cambiato idea. Quindi le quattro dipendenze sono state affrontate una per una.
Babel (2,8 MB) e Tailwind (403 KB) sono compilatori: il loro lavoro e' tradurre, e lo facevano nel browser di chi gioca, a ogni apertura. La traduzione si fa una volta sola, prima di pubblicare: il JSX e' gia' compilato e delle 123 classi usate restano 32 KB di CSS vera. Nessuno dei due viaggia piu'.
React e ReactDOM invece sono librerie vere e restano, ospitate da noi: 142 KB serviti dallo stesso sito, non da un CDN.
Il conto: da 3,4 MB scaricati da quattro domini diversi a 76 KB piu' 142 KB di libreria, tutto dal sito. Funziona anche se internet, fuori da qui, non risponde.
E' il genere di lavoro che non si vede giocando, ed e' esattamente il motivo per cui questo laboratorio esiste: un artefatto che gira in una chat e uno che sta online sono due cose diverse.