In principio era Mosaic…
Oggi più che mai è d’attualità la guerra tra browser… Qualcuno dice che è un dualismo (come ai tempi di Netscape/IExploder, ricordate?) altri dicono che stanno guadagnando fette di mercato anche i loro contendenti diretti (Opera e Safari), poi ci sono le proposte nuove (Konqueror).
Siccome questo però è un blog che parla di Tecnologie, si affronterà l’argomento solo da questo punto di vista.
Cominciamo con il dire che, sebbene i nomi/marchi/brand in gioco siano davvero parecchi, molti browser e meta-browser sono riconducibili non solo ad un medesimo motore di rendering HTML, ma anche alla medesima versione dello stesso. Per esempio è il caso di Firefox/Flock/IceWeasel, che sono tutte “brandizzazioni” dello stesso prodotto, oppure Safari/Konqueror, con il medesimo cuore, ma sviluppati seguendo linee diverse.
Brevemente, come funziona un browser? Un Web-browser (dicitura esatta, anche se alcuni, come Konqueror o Internet Exploder hanno anche funzionalità di File/System Browsing), è un client che interroga un server Web per ottenere delle informazioni (contenuti). Tali contenuti possono essere impaginati secondo una pletora incredibile di formati tutti più o meno standard… ma sostanzialmente il codice usato è di solito sempre uno: l’HTML o HyperText Make-up Language (tradotto: Linguaggio per l’impaginazione di Iper Testi). Per questo motivo il cuore del browser è il motore di rendering dell’HTML, cioè quel componente che è in grado di “disegnare al volo” le pagine man mano che i cari codici vengono trasferiti dal server al browser, cercando di rispettare, nei limiti, la formattazione originale concepita dal web-master.
Due sono i parametri di riferimento per valutare, perciò, la bontà di un motore di rendering HTML: la fedeltà di riproduzione delle pagine (un buon motore dovrebbe riprodurre le pagine esattamente come le ha concepite il web-master, indipendentemente dalla tecnologia in cui sono state realizzate e, soprattutto, indipendentemente dal sistema su cui andranno visualizzate) e la velocità con cui lo fa. In realtà la velocità non è un parametro così assoluto, perchè i browser utilizzano filosofie diverse di visualizzazione: per esempio è noto che Opera e Konqueror iniziano a disegnare gli “oggetti” senza aspettare di avere una visione “globale” della pagina… mentre firefox aspetta di aver ricevuto tutto il codice prima di renderizzarlo. Gli effetti naturalmente sono differenti, così come la percezione della velocità di caricamento.
Ad ogni modo per i principali browser che girano su piattaforma pc sono 4 le famiglie di motori di rendering utilizzati:
- Internet Explorer: è il motore di rendering HTML utilizzato dall’omonimo browser di mamma Microsozz. è fortemente integrato con il SO, essendo anche la shell (ma sarebbe più giusto dire il Desktop Environment) di default di Winsozz a partire da Winsozz ’98. Supporta un misto di tecnologie free e proprietarie (ActiveX, Silverlight). Non è il massimo in fatto di “fedeltà” di riproduzione del sito, preferendo la politica del “sono gli altri che si devono adeguare”, tipica di chi ha una posizione di monopolio. Dal punto di vista della sicurezza, la sua profonda integrazione con il SO lo rende una piattaforma ideale per lo sfruttamento di bug da parte dei malintenzionati. Ed anche quando non si tratta di bug, alcune features avanzate (come la possibilità di eseguire codice ActiveX senza controlli) contribuiscono alla generale insicurezza del sistema. Ha compiuto passi da gigante con le ultime versioni, anche se non si può dire che abbia ancora fatto la scelta più ovvia (separazione del Web dal System Browsing).
- Gecko: è il motore di rendering di Netscape 6.0, donato alla comunità, ed adottato da Mozilla per la realizzazione dei suoi prodotti. Inizialmente sfruttato solo all’interno dei Web Browser, è diventato una piattaforma di sviluppo di tutta una serie di strumenti sempre dedicati al web come Client Mail (Thunderbird) o o programmi PIM (Sunbird). Attualmente il numero di prodotti basati su questo motore, nelle sue varie versioni, è immenso: Mozilla, Firefox, SeaMonkey (Nuovo nome della Mozilla suite), Flock, Epiphany (Gnome Web-browser), IceWeasel (versione debian di Firefox, ripulita del codice non prettamente GPL), Deer Park (R3 di Firefox). Il suo punto di forza sono la robustezza e la modularità, cosa che ne ha permesso un’ampia diffusione in varie versioni. A differenza di alcuni suoi diretti concorrenti, renderizza la pagina solo a ricezione ultimata.
- Opera: è snello e maledettamente veloce. Il Motore di rendering del noto browser norvegese, ha da sempre introdotto tecnologie all’avanguardia (su tutte, il tab-browsing, ovvero l’apertura di più pagine nella stessa istanza, mediante l’adozione delle tab). Esistono varie versioni di tale motore, adattate alle varie piattaforme (PC, cellulari, Smartphone), ai quali si affianca tutta una serie di servizi a contorno (proxy) che permettono l’ottimizzazione della visualizzazione sul browser anche di pagine più “ostiche”.
- Webkit/KHTML: A detta di tutti è il motore di rendering più Web-compliant (cioè che segue gli standard del W3C). Basato sul motore di rendering di Konqueror (browser di default per KDE), è stato adottato da Apple per i suoi browser (Safari) e solo recentemente “restituito” in forma opensource alla comunità. Purtroppo la presenza di decine di tecnologie non ufficialmente riconosciute da W3C, non lo rende ideale per la navigazione su tutti i tipi di piattaforme web, almeno nella sua versione nuda e cruda. La comunità si sta adoprando alacremente per ovviare a questo inconveniente.
A fianco a questi ci sono migliaia di altri progetti sulle piattaforme più disparate. Ci sono browser scritti in Java (per la maggioranza dei telefonini), altri solo testuali (come non citare il mitico links?), tutti più o meno adatti alle varie situazioni.
Ci sono varie scuole di pensiero su quale sia il migliore. Personalmente ho abbracciato Firefox sin da quando si chiamava ancora Phoenix ed era una beta lungi dall’essere pronta al rilascio, e ne apprezzavo la snellezza… Adesso che però s’è messo a competere con Exploder in quanto a risorse richieste (vabbè in parte è colpa delle mille estensioni che uso), mi sto orientando per applicativi decisamente più leggeri. In particolare mi sto innamorando di Konqueror, almeno nella sua nuova versione (quella di Kde4), che dà un’impressione di maggiore stabilità, e poi è realmente W3C e Web 2.0 compliant. Quanto ad Exploder, l’ultima versione che ho usato in maniera un po’ continuativa è stata la 4.01 (erano i tempi di Winsozz ’98, per intenderci), subito abbandonata prima per Netscape 6.0 (un orrore, più che un errore!) e poi per il più snello Mozilla. Opera e Safari non li ho mai digeriti, soprattutto per una certa vocazione “elitaria” che dimostrano…
Il mio browser ideale, è quello del futuro! Non mi interessano prodotti che integrino migliaia di funzionalità di default (tipo il lettore di feed RSS integrato di Mozilla/Firefox non l’ho mai usato, così come il download manager e così via). Soprattutto adesso che sta prendendo piede il Web 2.0 (è già si parla di Web 3.0 o Web 3D), credo che si debba andare verso il client puro, visto che i servizi saranno tutti integrati mediante gli applicativi web.
Sugli stessi temi:
%RELATEDPOSTS%
