I motori di rendering

Blog, psicoterapia autogena di un web designer freelance

I motori di rendering - 26/09/2016
26/09/2016

Cito testualmente Wikipedia:

Un motore di rendering, in informatica ed in particolare nella computer grafica, è un componente hardware o software che interpreta delle informazioni in ingresso codificate secondo uno specifico formato e le elabora creandone una rappresentazione grafica.

Detto questo sappiamo che ogni singolo browser, di versione in versione, ha avuto un proprio motore di rendering che in alcuni casi è poi cambiato negli anni; uno dei primi è il noto Trident o MSHTML, motore che, dal 1997, supporta il web browser Internet Explorer nelle versioni dalla 4 alla 11.

Il più famoso è sicuramente Webkit, progetto nato Open Source nel 1998 con il nome di KHTML da KDE, la community internazionale per lo sviluppo software libero, e sviluppato poi da Apple nel 2001. Sul suo sviluppo la casa di Cupertino progettò il browser Safari che debuttò il 7 gennaio 2003.

A oggi Webkit viene utilizzato da Safari e, dalla versione 15, anche da Opera. La sua fama deriva anche dall’essere stato, fino alla versione 27, il motore del browser di Big G, Google Chrome.

Prima di Webkit il browser Opera, dalla versione 7 per Windows del 28 Gennaio 2003, ha utilizzato il motore Presto, creato e sviluppato direttamente dall’azienda norvegese Opera Software. Nelle versioni dalla 4 alla 6 veniva utilizzato un precedente motore di nome Elektra.

In ordine di importanza non può mancare Gecko, il motore di Mozilla Firefox creato in origine dalla Netscape Communications e mantenuto successivamente da Mozilla Foundation. Gecko dovrebbe presto essere sostituito con Mozilla Servo, un nuovo motore creato da una collaborazione tra Mozilla Research e Samsung, la cui lavorazione dura oramai dal 2013.

Da un paio d’anni Google Chrome invece propone un suo personalissimo motore dal nome Blink anche se allo stato attuale è praticamente un fork (in programmazione una fork è la modalità attraverso cui un processo crea in memoria una copia di se stesso) di Webkit con un minimo storico di differenze tra i 2.

Ultimo ma non ultimo EdgeHTML, motore di Microsoft Edge, che altro non è che un fork di Trident riprogettato per gli attuali standard per il web.

Ogni sviluppatore sa di dover utilizzare, per i browser meno recenti, i prefissi proprietari dei motori di rendering per poter permettere l’applicazione di attributi e valori sperimentali o non standard CSS nei siti web. Questa procedura non è ovviamente prevista per i browser di nuova generazione dove, il comportamento degli stessi, è già standardizzato.

Vediamo di seguito un elenco dei prefissi da richiamare per le specifiche CSS3 nei vecchi browser:

  • TRIDENT -ms- (Internet Explorer)
  • WEBKIT -webkit- (Chrome e Safari)
  • GECKO -moz- (Firefox)
  • PRESTO -o- (Opera)

Esistono naturalmente tutta una serie di browser alternativi poco conosciuti di cui possiamo tranquillamente trovare liste infinite online. Tra tutti citiamo Lunascape, browser giapponese a quanto si dice unico nel suo genere, in quanto la sua caratteristica principale è quella di avere più motori di rendering integrati tra cui i 4 principali (Trident, Gecko, Webkit e Presto).

In parole povere permette agli sviluppatori di avere a portata di click la visualizzazione dei maggiori browser oltre a supportare diverse estensioni e plug-in degli stessi.

Grazie, come sempre, per avermi letto e appuntamento al prossimo articolo. See you.