Che Internet Explorer sia stato un browser molto criticato nel corso degli ultimi anni non è un mistero per nessuno: troppo poco personalizzabile dicono i power user, troppo poco aderente agli standard W3C dicono i programmatori di web site e web application, troppo integrato con il sistema operativo dice l’antitrust.
Personalmente, essendo uno sviluppatore di applicazioni web, se devo confrontare aspetti come l’aderenza agli standard così come le performance di javascript dei vari browser, non posso che concordare che Internet Explorer, almeno nelle ormai obsolete, ma purtroppo ancora diffuse, versioni 6 e 7, sia da evitare.
Discorso a parte per Internet Explorer 8 che, almeno dal punto di vista dell’aderenza agli standard, ha rappresentato un indubbio passo in avanti e, ad oggi, al pari di tutti gli altri browser più diffusi (Firefox, Chrome, Opera, Safari, ecc…) è compatibile con lo standard CSS 2.1 che è la versione più recente, approvata in via definitiva, del linguaggio per la definizione dei layout sul web.
Vista la storia non di certo lusinghiera nei confronti di Microsoft quando si parla di browser, devo ammettere di essere rimasto colpito quando ho appreso che in occasione del MIX 2010, l’azienda di Redmond ha svelato le caratteristiche del futuro Internet Explorer 9. In particolar modo ho trovato molto interessante il lavoro che è stato svolto per migliorare le prestazioni di javascript e del rendering delle pagine.
Nel primo caso è stato deciso di realizzare un nuovo motore javascript che, contrariamente a quanto avveniva con le versioni precedenti, non interpreta sempre il codice, ma solo in fase di startup. Durante l’esecuzione del codice javascript, un compilatore in background compila porzioni di codice in multithreading, velocizzando le elaborazioni. Test eseguiti su una versione tutt’altro che definitiva di Internet Explorer 9 hanno dimostrato l’efficacia di questo nuovo approccio, portando il nuovo browser Microsoft ai livelli delle più recenti versioni dei browser concorrenti.
Altrettanto interessante è l’innovazione che concerne il rendering delle pagine web. Internet Explorer 9, infatti, si appoggerà alle più recenti API Direct2D introdotte con Windows Vista, per sfruttare l’accelerazione in hardware delle schede video per il rendering del HTML.
Ritengo che le potenzialità alla base di questa scelta vadano ben oltre il semplice incremento delle performance. Questo è, infatti, il primo passo di un percorso che porterà, congiuntamente alla diffusione dell’HTML 5 e di binding a API come OpenGL (ad esempio WebGL), allo sfruttamento delle capacità computazionali delle GPU all’interno di un browser, senza adottare plugin come Flash o Silverlight. Abbattuta questa barriera, assisteremo sicuramente alla proliferazione di una nuova generazione di applicazioni web che fino ad ora è stato difficile immaginare in un browser: videogiochi 3D, CAD, ecc…
Naturalmente Microsoft non è la sola ad intraprendere questo percorso: anche Firefox 3.7, attualmente in versione alpha, supporta il rendering delle pagine sfruttando il Direct2D. Tuttavia è la prima volta che accade che Microsoft innovi o che comunque sia tecnologicamente sulla cresta dell’onda nel mondo dei browser.
Sono certo che gli irriducibili detrattori di Microsoft coglieranno l’occasione per rimarcare che Internet Explorer 9 non passa al 100% l’Acid3, un benchmark che valida l’aderenza dei browser allo standard CSS3, e che al momento altri browser supportano pienamente, ma personalmente penso che sia affrettato trarre conclusioni su un browser la cui versione definitiva arriverà non prima dell’anno prossimo, basandosi tra l’altro su un test che valida uno standard ancora in versione draft, tutt’altro che definitiva quindi.