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.