HTML5
Che cos’è HTML5? Ecco le mie riflessioni su HTML5 partendo da alcuni articoli, grafici e post presenti in rete.
HTML5 è la nuova moda del momento, innegabilmente. Contrariamente a quanto avviene spesso per vocaboli di moda e di marketing, però, HTML5 è davvero una realtà rivoluzionaria che cambierà sensibilmente il nostro modo di vivere e fruire il web – e dunque un elemento sicuramente presente, probabilmente importante della nostra vita.
Un insieme di tecnologie
Partiamo col dire che HTML5 non è una tecnologia o un linguaggio di markup ma un insieme di tecnologie: sotto il “capello” (e il logo…) HTML5 sono incluse sostanzialmente tutte le più recenti novità relative allo sviluppo web e alla creazione di web applications. Vediamole una ad una per capire ancora meglio di cosa stiamo parlando.
1. Semantica per le nostre pagine e un markup più facile
Dopo svariati studi (di Opera e di Google) ci si è accorti, qualche anno fa, che i web designers utilizzavano con più frequenza alcuni nomi di classi quali “header”, “footer”, “nav”, “article” per identificare più o meno sempre gli stessi delle proprie pagine (alzi la mano chi non ha usato “header” o “footer” come classi del proprio div di intestazione o di chiusura della pagina). Si è dunque pensato che sarebbe stato utile introdurre dei nuovi tag per identificare questi elementi comuni e ricorrenti, dando così anche un valore semantico a queste parti di una pagina.
Per rendere più facile la fruizione e la creazione di markup, poi, è stata di gran lunga semplificata la parte di “validazione”, in particolare rispetto a documenti XML quali XHTML. E’ sufficiente ricordare che il doctype, una volta una pappardella infinita, adesso è un semplice:
<!DOCTYPE html>
Basta questo per indicare che il nostro documento è una pagina HTML5.
2. Offline e storage
HTML5 è l’insieme di tecnologie che vuole trasformare Internet da un semplice catalogo di pagine di testo in un immenso archivio di applicazioni web, ovvero strumenti con funzionalità avanzate e interfaccia user-friendly per “fare cose”, non solo per consultare documenti.
In questo senso, le due tecnologie che rendono possibile la “magia” di una vera e propria applicazione scritta in HTML5 sono:
- App Cache: per dire al browser quali file (HTML, immagini, CSS, JavaScript) salvare in locale così da consentire una navigazione e un utilizzo dell’applicazione anche quando si è offline
- Local Storage: un’evoluzione dei cookies, molto più facile da gestire e soprattutto con 5 mega (almeno) di spazio a disposizione per salvare dati direttamente dal browser, senza passare da un database centralizzato (e quindi raggiungibile solo quando connessi)
3. API di accesso ai device
HTML5 vuole essere la tecnologia di sviluppo del futuro. E il futuro non è solo più il nostro caro desktop o notebook: iPhone, Android, iPad, altri tablet – questi sono gli strumenti con cui oggi e soprattutto domani si utilizzerà il web.
Per sfruttare al massimo le funzionalità di tutti questi device HTML5 prevede l’utilizzo di una serie di API (ovvero di “interfacce di programmazione”) per accedere a caratteristiche e dati specifici dei vari terminali: attualmente è già implementata e funzionante sulla maggior parte dei browser, telefonini e tablet la geolocalizzazione (il device comunica al browser la posizione dell’utente e dunque il nostro JavaScript può agire di conseguenza) ma sono già in fase avanzata di progettazione altre API per utilizzare ad esempio la fotocamera, la lista dei contatti o i dispositivi audio.
4. Web Sockets
Uno dei problemi più ardui che ogni developer affronta nella sua carriera è far comunicare il il browser con il server senza dover ogni volta ricaricare la pagina, aprendo cioè una connessione diretta e aggiornabile a prescindere dal resto della pagina.
Web Sockets risolve proprio questo problema: questa tecnologia (non ancora del tutto diffusa e implementata per problemi legati alla sicurezza ma comunque già abbastanza “matura” e funzionante, ad esempio, su iPhone) consente di creare un canale di comunicazione full-duplex tra il browser e il server, dando così la possibilità di “dialogare” in maniera semplice e user-friendly per creare, ad esempio, applicazioni di chat in realtime o altre applicazioni che richiedono uno scambio costante di informazioni fra client e server (o fra vari client, passando dal server).
5. Multimedia
In sintesi si tratta del supporto nativo nei browser di audio e video all’interno del browser. HTML5 ha introdotto i due tag
ARTICOLI
mobile sviluppo tecnologia web