- Css3, come linguaggio di visualizzazione e 2° Livello di Presentazione.
- JavaScript, come programmazione e 3° Livello di Interazione.
- jQuery, per facilitare la programmazione JavaScript e la compatibilità cross-browser.
- DOM e BOM, come insieme di API per manipolare gli elementi e interagire con il browser.
- L'Oggetto XMLHttpRequest, API fondamentale per applicazioni web senza refresh tra pagine.
1. L'elemento canvas.
L’elemento canvas permette di innestare in un documento HTML una sorta di area (o tela) di
disegno al cui interno possiamo compiere innumerevoli operazioni legate alla gestione e
manipolazione grafiche. Possiamo infatti: disegnare oggetti grafici (linee, rettangoli, archi e così
via) e singoli pixel; applicare trasformazioni (rotazioni, traslazioni e così via); elaborare
sfumature, gradienti e ombreggiature; disegnare testo; visualizzare immagini bitmap e altro ancora.
2. Gli elementi video e audio.
Gli elementi multimediali video e audio consento di dotare una pagina HTML di contenuto
multimediale, ossia di brani audio e di filmati video comprensivi di tutti i comandi, senza la necessità
di impiegare plug-in esterni quali Flash, QuickTime e così via.
3. Il drag and drop.
Il drag and drop (DnD) è una potente funzionalità delle interfacce utente che permette di
trascinare degli oggetti che agiscono da sorgente (immagini, testo e così via) e di rilasciarli su
altri oggetti (immagini, testo, aree vuote e così via) che agiscono come destinatari.
4. La geolocalizzazione.
La geolocalizzazione permette la rilevazione della posizione geografica di un utente ed è un
servizio fondamentale per cerare applicazioni web che sono a essa collegate, come per esempio
quelle che forniscono, in base all’attuale locazione dell’utente, dei luoghi di interesse posti nelle
vicinanze, come ospedali, cinema, ristoranti e così via.
5. Il Web messaging.
Per cross-origin messaging si intende un meccanismo per effetto del quale è possibile
scambiare dei dati tra documenti di pagine web aventi un origine differente in modo sicuro e
affidabile ed evitando di subire attacchi di cross-site scripting.
6. Web Workers.
Le API Web Workers permettono di progettare applicazioni web, laddove alcuni "pezzi" di
codice JavaScript che richiedono un’elevata complessità di calcolo sono eseguiti in background,
ossia in thread separati di esecuzione. Rappresentano una notevole opportunità per quegli
sviluppatori che progettano applicazioni particolarmente sofisticate come quelle, per esempio,
che eseguono elaborati calocoli di grafica tridimensionale o di manipolazione di immagini che,
senza i thread, mentre i relativi algoritmi sono in esecuzione, causerebbero un blocco
dell’interfaccia utente della pagina web dove lo script sta girando.
7. Web Storage.
La progettazione di applicazioni web moderne richiede di disporre di meccanismi che
consentano di memorizzare dei dati localmente nel computer in uso dell’utente al fine di
poterli, per esempio, riutilizzare per gestire delle preferenze, degli stati applicativi e così via.
8. Applicazioni web offline.
La specifica di HTML5, tra le tante novità già viste, ne ha introdotta un’altra davvero
interessante che si concretizza, in breve, nella possibilità di progettare un’applicazione web che
può essere utilizzata offline, ovvero in assenza di una connettività di rete, grazie alla
disponibilità di uno spazio di storage, definito application cache o application storage, dove
sono memorizzati tutti i file del codice e delle risorse di tale applicazione
(HTML, CSS, JavaScript, immagini, video e così via)
che sono stati indicati esplicitamente in un apposito file definito cache manifest.
9. Microdata.
I microdata permettono di attribuire agli elementi HTML delle "informazioni" supplementari
che agiscono come una sorta di metadati che definiscono in modo più significativo (semantico)
lo scopo per il quale sono stati impiegati. In pratica, consentono di "etichettare" gli elementi
HTML mediante delle proprietà, definite in appositi vocabolari, che sono interpretabili dai
browser, dai motori di ricerca e in linea più generale da qualsiasi software che è in grado di elaborarle.