Quasi un anno fa vi avevo già accennato su queste stesse pagine alla profonda fascinazione che suscita in me una delle tecnologie più potenti e certamente meno sfruttate dello standard HTML5, vale a dire Canvas.
Riassunto per i più distratti: in una moderna pagina web il designer può dichiarare canvas (letteralmente: una tela) una zona grande a piacere della pagina e disegnarci dentro usando istruzioni JavaScript. Le azioni disponibili non sono granché flessibili o potenti e quindi un disegno complesso richiede programmazione piuttosto lunga e forse sofisticata.
Ma i risultati sono impagabili.
Nel mio piccolo: il logo del mio CMS è fatto da tre ingranaggi d’orologeria. Per farli ruotare mi sarebbe bastata una GIF animata. Ma per farli ruotare mostrando l’ora esatta dentro a uno degli ingranaggi ci vuole Canvas. Nelle schermate dell’amministratore il logo è HiDPI, cioè a qualità retina. Non mi costa niente di più. Basta creare una tela ad alta risoluzione e disegnare lì dentro…
Quelli di Flipboard volevano animare elegantemente le foto caricate dagli iscritti, ma su tablet e smartphone il JavaScript non ce la fa. Quindi hanno fatto tutta la pagina in Canvas e sono riusciti a ottenere la bellezza di sessanta fotogrammi al secondo nelle animazioni.
La parte interessante è che stanno finalmente apparendo librerie che semplificano la vita a chi vuole usare Canvas senza reinventare daccapo la ruota. Per esempio, Canvas disegna i testi una riga per volta e tracciare un intero paragrafo è un lavoretto, così quelli di Flipboard hanno risolto il problema nel caso più generale. Zynga ha distribuito su GitHub una libreria che gestisce lo scorrimento e gli zoom.
Siamo solo agli inizi, secondo me, e se librerie come queste verranno sviluppate ulteriormente, consolidate, adottate in massa ne vedremo delle belle. Il web andrà incontro a una rivoluzione estetico-funzionale del tutto paragonabile a quella che abbiamo vissuto introducendo HTML5 una decina di anni fa.