C’è stato un tempo, fortunatamente molto lontano, in cui Internet Explorer dominava sul web e gli sviluppatori dovevano giustamente tenerne conto. Il concetto di standard esisteva già, eppure Microsoft ha proseguito per la sua strada integrando sempre di più il suo browser con il sistema operativo. Questo percorso è stato anche molto utile perché ha permesso l’evoluzione delle applicazioni su internet grazie alle potenzialità del browser, ma è stato anche l’inizio di un periodo di totale slegamento dagli standard.
Per fortuna gli anni successivi, grazie all’avanzata di Mozilla Firefox prima e di Chrome dopo, ci hanno riportati sulla retta via. Oggi il lavoro di sviluppo è diventato molto più semplice per i web designer/developer ma continuano ad esistere delle differenze. Nei fogli di stile (CSS) che servono per definire l’aspetto di ogni elemento in una pagina web, vi sono molte proprietà specifiche per i browser o, più precisamente, per il loro motore di rendering. Chrome e Safari sono entrambi basati su webkit (insieme ad altri browser minori) e sommando le loro percentuali si raggiunge una massa critica importante. Safari è nettamente indietro, ma grazie alla buone vendite di Mac e all’incredibile successo degli iDevices, acquisisce un ruolo sempre più importante giorno dopo giorno.
I fogli di stile si stanno riempiendo di proprietà specifiche: dal momento che lo stesso effetto va indicato per ogni motore si moltiplicano le righe che iniziano con -webkit- / -moz- / ms- / -o-
Per creare un banalissimo effetto arrotondato sugli angoli di un oggetto senza dover lavorare con HTML5 e CSS3 (ancora non pienamente supportati ovunque), si devono utilizzare più dichiarazioni:
- -moz-border-radius: 10px; /* Firefox */
- -webkit-border-radius: 10px; /* Safari, Chrome */
- border-radius: 10px; /* CSS3 */
Che si moltiplicano facilmente applicando l’effetto in quantità diverse per ogni angolo (top-left, bottom-right, ecc..). Non è che un banale esempio, ma se aprite il foglio di stile di un sito web “moderno”, molto curato graficamente, non c’è dubbio che sarà pieno di dichiarazioni simili. Secondo quando riporta TheVerge, Daniel Glazman (co-presidente del gruppo di lavoro sul CSS del W3C) evidenzia nel suo blog che l’attuale importanza assunta dai browser basati su WebKit è un male per gli standard.
Io credo molto nel lavoro del W3C, ma l’evoluzione dei browser spesso arriva prima dei loro standard e non sempre gli sviluppatori possono attendere per implementare/sperimentare nuove funzioni. Tuttavia Apple ha un po’ la stessa tendenza di Microsoft con Internet Explorer, poiché Safari è molto integrato con il sistema operativo e contiene anche numerose opzioni specifiche per iOS e Mac OS X (i widget alla fine sono HTML/JS/CSS con delle “aggiunte”). Il confronto dà da pensare…