Introduzione - Apogeonline

Transcript

Introduzione - Apogeonline
Introduzione
Questo libro si rivolge a progettisti web, sviluppatori software, imprenditori e manager che vogliono disporre di siti web a costi ridotti, che funzionino al meglio e
che siano in grado di raggiungere il maggior numero di persone, e tutto questo non
solo tenendo conto di browser, dispositivi mobili e altri sistemi di visualizzazione
presenti al momento, ma anche di apparecchiature che l’evoluzione tecnologica saprà
proporre in futuro.
La maggior parte di noi ha già avuto modo di scontrarsi con l’obsolescenza che caratterizza lo sviluppo frenetico della tecnologia. Ogni volta che compare sulla scena
la nuova versione di un browser o un nuovo dispositivo web si ha la netta sensazione
che il sito appena pubblicato sia già destinato a essere sostituito con una soluzione
rinnovata e completamente modificata.
Si realizzano siti solo per ricostruirli continuamente. Accade troppo spesso che la
ricostruzione di un sito debba essere effettuata non tanto per aumentare o perfezionare le funzionalità di accesso e navigazione, ma semplicemente per tenere il passo di
browser e dispositivi che sembrano sempre più avanzati dei cicli di design e sviluppo
del sito web. Sono rare le occasioni in cui sembra che l’introduzione di un nuovo
browser o dispositivo mobile non intacchi la funzionalità del sito, ma perfino in questi
casi la cosiddetta compatibilità “retroattiva” costringe a rivedere il sito in modo che il
suo utilizzo risulti conforme alle caratteristiche di tutti i sistemi di navigazione, il che
comporta costi significativi in termini di risorse umane e finanziarie.
Questa situazione è così consolidata da apparire più che normale, al punto da costituire il prezzo da pagare per il corretto mantenimento di un sito web professionale.
È altrettanto vero però che si tratta di un prezzo sempre più difficile da affrontare.
XVIII Introduzione
Porre fine ai cicli continui di obsolescenza
Le tecnologie sviluppate dal W3C (World Wide Web Consortium) o da altri organismi
internazionali e supportate dalla maggior parte dei browser e dei dispositivi Internet
consentono di realizzare siti in grado di funzionare correttamente anche a seguito di
ulteriori evoluzioni degli standard adottati.
Questo libro si propone di insegnare come sia possibile superare il ciclo vizioso
definito dal motto “realizza, blocca, ricostruisci” evitando nel contempo che nuovi
utenti possano rinunciare a visitare il sito oppure che si sprechi tempo e denaro nel
tentativo di risolvere i problemi con soluzioni “a breve termine” che in quanto tali
hanno già in sé le ragioni del loro insuccesso. Questo libro spiega come aggirare gli
eventuali malfunzionamenti di Internet Explorer e di altri browser recenti rispetto
alla standardizzazione, oltre a presentare soluzioni che permettono agli utenti del sito
di continuare a utilizzare browser meno recenti.
Le informazioni contenute in questo libro consentono a progettisti e sviluppatori di
adattare il proprio metodo di lavoro in modo da realizzare siti web che risultino conformi rispetto alla gran parte dei browser presenti sul mercato, escludendo l’insorgere
di problemi di obsolescenza del sito a causa di istruzioni di markup e di tecniche di
codifica proprietarie. I gestori dei siti che leggono questo libro dovrebbero essere in
grado di evitare l’adozione di specifiche che ripropongano il ciclo di obsolescenza;
inoltre si insegna come progettare un sito conforme agli standard anche rispetto
all’evoluzione futura della tecnologia.
Cos’è il W3C?
Il W3C (World Wide Web Consortium, http://www.w3.org) è nato nel 1994 e si dedica alla creazione di specifiche e linee guida che intendono promuovere l’evoluzione del Web e garantire il corretto funzionamento di tutte le tecnologie web. I
membri del consorzio sono circa 500 e il suo direttore,Tim Berners-Lee (http://
www.w3.org/People/Berners-Lee), è riconosciuto come l’inventore del Web (1989).
Le specifiche stabilite dal W3C includono gli standard HTML 4, CSS 2, CSS 3,
XML, XHTML 1.0, XHTML 1.1, HTML 5 (creato in collaborazione con i
maggiori produttori di browser grazie alle attività del WHATWG, o Web Hypertext Application Technology Working Group) e DOM (Document Object Model), solo
per citare le iniziative fondamentali.
Tra gli altri organismi internazionali di rilievo nel settore occorre ricordare l’associazione ECMA (European Computer Manufacturers Association), responsabile
dello sviluppo del linguaggio di programmazione ECMAScript, altrimenti noto
come “standard JavaScript”.
Non esistono dogmi
Questo libro non contiene dogmi o regole ferree. Non esiste un metodo ideale per
realizzare un sito web, così come non esiste una soluzione ideale che permetta di in-
Introduzione XIX
corporare le specifiche standard nel lavoro di sviluppo web. Non si sostiene il rispetto
rigido di regole standard a svantaggio delle tecniche tradizionali che un progettista è
solito adottare per realizzare un determinato sito o per svolgere un’attività particolare.Va inoltre ricordato che questo libro non si occupa di teoria e di modelli ideali,
ma si rivolge a persone che devono ottenere risultati soddisfacenti dal proprio lavoro
di sviluppo software.
Nulla da obiettare nei confronti dei puristi la cui passione si manifesta nella creazione
precisa di standard web; queste persone vanno ammirate e a loro va il ringraziamento
più sentito anche per gli insegnamenti che trasmettono. Questo libro si rivolge però
a progettisti e sviluppatori web, così come ai clienti e a tutte le persone che devono
affidarsi alle competenze di chi si occupa dello sviluppo web; per questo motivo, lo
studio degli standard web è inquadrato in un contesto che tiene conto dei problemi di progettazione, di sviluppo dei contenuti e del marketing. Nel caso in cui gli
standard W3C risultino ancora poco chiari e ci siano tuttora discussioni in merito
a determinate tecniche di implementazione degli standard, verranno evidenziati i
punti fermi che la comunità web ha accettato come standard allo scopo di facilitare
l’adozione di soluzioni conformi e consapevoli.
In effetti qui si pretende di affermare un solo e indiscutibile dogma, cui corrisponde
un punto di vista inflessibile e assoluto: in genere i costi dello sviluppo web sono
troppo alti.
Nessuno è in grado di affrontare al momento la progettazione di siti web adottando
soluzioni definite un poco alla volta, come si faceva qualche anno fa. La codifica di
un sito basata su una decina di soluzioni differenti poteva risultare efficace con il
boom di Internet e le risorse economiche ingenti dedicate al lavoro di sviluppo web,
ma ora quell’epoca si può dire conclusa per sempre. Le specifiche HTML, XHTML, XML, CSS, JavaScript e DOM sono realtà destinate a durare: non costituiscono
soluzioni definite una volta per sempre, ma sono i componenti che permettono di
risolvere i problemi di progettazione che hanno accompagnato il lavoro di sviluppo
web fin da quando comparve il primo tag blink.
Un insieme di regole flessibile e in continua evoluzione
Questo libro intende sottolineare in tutte le sue pagine il fatto che gli standard web
rappresentano un insieme di regole che si evolve continuamente; non si tratta di
regole fisse e definite una volta per tutte. Una prima adozione degli standard web
non implica necessariamente la perfetta separazione tra struttura e presentazione del
sito su cui state lavorando. L’impegno di rinnovamento delle tecniche di sviluppo
deve in primo luogo garantire l’accessibilità del sito rispetto ai requisiti minimi indicati dalle linee guida WCAG (Web Content Accessibility Guidelines) 1.0 Priority 1,
e perfino questi requisiti potrebbero non risultare soddisfatti completamente. Tutto
ciò non deve scoraggiare, dato che le difficoltà di esaudire i requisiti richiesti dagli
standard WCAG 1.0 ha portato il W3C a rilasciare nel dicembre 2008 la nuova serie
di standard WCAG 2.0.
XX Introduzione
La questione fondamentale riguarda il fatto di voler iniziare a lavorare in modo
nuovo. Il timore di commettere errori può frenare lo sviluppatore più entusiasta,
così come l’imbarazzo di mostrare la pancetta può allontanare chiunque da palestre
e piscine; va però ricordato che è impossibile perdere peso senza intraprendere una
minima attività fisica e, analogamente, il sito non sarà mai in grado di raggiungere
una piena compatibilità “in avanti” se non si inizia da qualche parte ad adottare gli
standard web. Una prima operazione può riguardare la cancellazione di tutti i tag
font. In alternativa si possono sostituire le istruzioni di markup ormai prive di significato con una serie di tag h1 e p. Questi sono ottimi esempi iniziali di applicazione
degli standard web e per questo motivo nei prossimi capitoli verrà dato ampio spazio
all’impostazione di istruzioni di markup efficienti e conformi alle regole standard.
Alcune definizioni fondamentali
In questo libro si farà più volte riferimento alla compatibilità “in avanti” dei siti
web ( forward compatibility): l’espressione significa che una pagina realizzata in modo
conforme agli standard web è in grado di funzionare correttamente utilizzando più
browser, piattaforme e dispositivi Internet, e che il suo funzionamento continuerà
a risultare efficiente anche quando verranno introdotte nuove versioni di browser e
dispositivi. Questa condizione è resa possibile dall’adozione degli standard web.
A sua volta, l’espressione “standard web” assume il significato definito dal progetto WaSP,
ovvero comprende l’adozione congiunta di linguaggi strutturati, per esempio HTML,
XHTML e XML, di linguaggi di presentazione CSS, di modelli a oggetti W3C DOM
e di linguaggi di scripting, per esempio JavaScript. Tutti questi elementi verranno spiegati nei prossimi capitoli. I dettagli tecnici dei diversi elementi non devono spaventare i
responsabili dei siti che non sono esperti di informatica; è fondamentale che le nozioni
più tecniche vengano apprese da sviluppatori e progettisti web.
Lo sviluppo di queste tecnologie web si propone lo scopo di ottenere il massimo
vantaggio di utilizzo dei siti dal numero più consistente possibile di utenti. L’adozione congiunta degli standard web rappresenta peraltro un modello di sviluppo web
che permette di ottenere risultati razionali, sofisticati ed efficienti anche dal punto di
vista economico: offre il vantaggio di consentire l’accessibilità dei siti anche da parte
di chi manifesta abilità diverse, il che si traduce sostanzialmente nella possibilità di
avere più utenti che visitano il sito, abbassare i costi di esercizio, migliorare le pubbliche relazioni e diminuire i conflitti legati all’accessibilità delle pagine web.
Cosa si intende per browser “conformi” agli standard? Abbiamo in primo luogo i
programmi Safari 3 e 4, basati sulla piattaforma WebKit di Apple, che caratterizzano
anche le funzionalità del browser web dei dispositivi iPhone. A questi si aggiungono
il browser open source Mozilla Firefox 3 e versioni successive, Opera 9+ (che comprende anche il browser Opera Mini presente in molti telefoni cellulari), Google
Chrome (anch’esso basato su WebKit), Microsoft Internet Explorer 8, ma in una
certa misura anche IE7 e perfino IE6. L’elemento comune a questi prodotti è che
con poche limitazioni sono tutti in grado di comprendere e supportare le specifiche
standard dettate da XHTML 1.0, CSS 2, JavaScript e DOM. A eccezione di Internet
Introduzione XXI
Explorer, questi browser sono anche in grado di supportare gli standard CSS 3 e alcune funzionalità avanzate di HTML 5.
Ad ogni modo va ricordato che i browser citati non risultano perfetti rispetto all’adozione degli standard. In effetti non esiste software che si possa considerare esente da
difetti, in particolare tenendo presente che gli standard web sono decisamente sofisticati e l’interazione tra i diversi elementi di sviluppo è sempre abbastanza complessa.
È lecito chiedersi se esiste un browser migliore di altri per quanto riguarda la conformità agli standard. A questa domanda ogni sviluppatore web può rispondere in modo
diverso da altri, ma gran parte della comunità informatica riconosce che perfino la
versione più recente di Internet Explorer, sebbene molto valida ed efficiente, non è
così raffinata come le ultime versioni di Safari, Firefox e Opera.Va inoltre ricordato
che molte persone visitano i siti web utilizzando versioni precedenti di IE, che risultano ancora meno conformi.
Nonostante alcuni utenti possano ancora utilizzare browser quali IE6 e Vanilla Ice, al
momento vale senza dubbio la pena superare metodi di lavoro antiquati e procedere
nello sviluppo utilizzando gli standard web allo scopo di soddisfare il maggior numero di utenti potenziali. Gli standard web sono inclusivi per natura, pertanto la loro
adozione è efficace anche per coloro che si ostinano a utilizzare browser e dispositivi
obsoleti, grazie al rispetto di specifiche compatibili “in avanti”.
Cos’è il progetto WaSP?
Da anni il W3C promulga le proprie specifiche con il termine “Raccomandazioni” (Recommendations), il che può avere inconsapevolmente incoraggiato alcune
aziende del calibro di Netscape e Microsoft a implementare standard poco rigorosi. Il progetto WaSP (Web Standards Project) ha preferito adottare, con l’approvazione di gran parte degli sviluppatori e progettisti web che ne fanno parte, il
termine “standard web” per indicare le specifiche emanate fin dal 1998, anno di
avvio del progetto. In questo modo i sostenitori del WaSP hanno potuto presentare le diverse specifiche web come ingredienti essenziali che browser e dispositivi Internet devono supportare completamente.
Il progetto WaSP (http://www.webstandards.org) promuove standard che riducono i costi e le complessità di realizzazione di un sito web, oltre a garantire l’accesso totale e sicuro a tutti gli utenti. Grazie al lavoro dei sostenitori di questo
progetto si può affermare che oggi i browser supportano gli standard web. Il
gruppo di lavoro WaSP lavora a stretto contatto con i principali produttori di
soluzioni per lo sviluppo software dei siti, per esempio Dreamweaver, e con i
più importanti proprietari e progettisti di siti web. Il progetto è oggi in grado
di fornire anche strumenti di formazione sull’adozione di standard web e si sta
rivolgendo con successo alla comunità internazionale, superando i confini del
mondo occidentale di lingua prevalentemente anglosassone.
XXII Introduzione
Non esiste una soluzione unica e valida per tutti
Questo libro è composto da molti capitoli ed è stato perfezionato in tre diverse edizioni, ma nonostante questo riesce solo ad accennare al significato pieno e completo
degli standard web. Ci sarebbe ancora molto da studiare in merito ai layout CSS
oppure alle istruzioni di markup accessibili e strutturate, per non dire del modello
DOM e del linguaggio JavaScript; un solo libro non può soddisfare tutti gli argomenti che coinvolgono queste tecnologie web, tenendo anche presente che ciascuno
di questi argomenti può essere trattato da un punto di vista completamente differente
rispetto a quello sostenuto dagli autori di questo libro.
Se la prima edizione del libro ha avuto il merito di presentare il concetto di standard
web a livello globale, a partire dalla sua pubblicazione si assiste con cadenza quasi
settimanale all’uscita di nuovi testi che riportano nel titolo l’espressione “standard
web”. Molti di questi libri sostengono le stesse idee presentate in questo volume,
altri contraddicono le indicazioni che leggerete nei prossimi capitoli e propongono
tecniche di programmazione molto diverse una dall’altra.
È sufficiente mettere attorno a un tavolo due progettisti web per ascoltare tre opinioni differenti su un argomento qualsiasi. Non esistono due progettisti che concordano
completamente su tecniche di tipografia, stile, layout e impiego del colore; una considerazione analoga vale anche per la definizione degli standard web. Si esclude inoltre
che chiunque legga questo libro debba immediatamente adottare tutte le soluzioni
proposte nei prossimi capitoli.
È invece importante sottolineare che i concetti generali illustrati in questo libro
vengano sostenuti e promossi da tutti i progettisti, sviluppatori e responsabili di siti
che avranno modo di studiare l’adozione degli standard web: solo in questo modo
sarà possibile garantire un risparmio di tempo e denaro, una riduzione significativa
del carico di lavoro successivo alla fase iniziale di sviluppo web, il prolungamento del
ciclo di vita di un sito web e la massima accessibilità dei suoi contenuti.
Questo libro avrà conseguito gli obiettivi per i quali è stato pensato e scritto nella
misura in cui aiuterà a comprendere come le tecnologie standard sono in grado di
combinarsi tra loro per realizzare siti compatibili in avanti e sarà in grado di offrire
indicazioni utili per perseguire questo stesso obiettivo.
È più che accettabile avere idee diverse rispetto ad alcune delle indicazioni qui fornite, ma differenze di vedute marginali non devono allontanare chi si occupa di
sviluppo web dall’idea complessiva che accompagna l’adozione degli standard web.
Il concetto fondamentale e indiscutibile riguarda la necessità di una modifica delle
tecniche di sviluppo, che si proponga di realizzare progetti web in grado di raggiungere la maggior parte delle persone su un periodo di tempo sempre più lungo, il tutto
accompagnato perfino da una riduzione dei costi di progetto.
Introduzione XXIII
Benvenuti nella squadra vincente
Dopo anni nei quali nulla sembrava presagire novità sostanziali nel lavoro del W3C, le
versioni più recenti dei browser stanno evidenziando finalmente il supporto (ancora
incompleto ma significativo) di specifiche quali HTML 5 e CSS 3; nel contempo,
aziende di rilievo come Google sembrano scommettere sulla realizzazione di applicazioni web che sfruttino le tecnologie standard (http://radar.oreilly.com/2009/05/
google-bets-big-on-html-5.html).
Il perfezionamento delle tecniche di sviluppo web reso possibile dall’adozione di
standard CSS 3 sta mostrando tutta la sua efficacia nella realizzazione di soluzioni
innovative e sempre più creative.
Gli standard tipografici stanno diventando una realtà sempre più diffusa (http://www.
zeldman.com/x/16) ed è in costante aumento il numero di aziende e organizzazioni,
molto diverse tra loro e del calibro di Apple, MSN,Wikipedia e WordPress, che adottano esplicitamente gli standard web, anche se non hanno ancora raggiunto livelli
di adesione che consentano di certificare al 100% il rispetto di tutte le specifiche
(Figure I.1-I.4).
Figura I.1 Riconosciuta da tutti per la qualità dei suoi prodotti in termini di design, Apple nasconde
un segreto: il suo sito sfrutta il meglio degli standard web (http://www.apple.com/it/).
XXIV Introduzione
Figura I.2 MSN, alla posizione 7 nella classifica Alexa dei 100 siti migliori, è conforme alla valutazione
XHTML Strict (http://it.msn.com/).
Figura I.3 Chi cerca risposte si rivolge a Wikipedia. Quando Wikipedia vuole stabilità, non fa altro
che adottare le specifiche XHTML 1.0 Strict e il layout CSS (http://it.wikipedia.org/).
Introduzione XXV
Figura I.4 La piattaforma open source di blog WordPress, alla posizione 22 nella classifica Alexa,
è conforme alla valutazione XHTML 1.0 Transitional (http://it.wordpress.com/).
Gli standard web rappresentano gli strumenti che consentono a chiunque di realizzare siti stupendi e sofisticati, in grado di funzionare domani con la stessa efficienza che
manifestano oggi. In questo libro verrà spiegato il ruolo svolto da ciascuno standard
web e le tecniche che permettono di sfruttare la combinazione tra diversi standard
per creare siti compatibili in avanti. Il resto del lavoro è tutto nelle vostre mani.