Google Chrome, yet another browser?
alessio | 3 September 2008La notizia del giorno è senza alcun dubbio la presentazione del browser Chrome da parte di Google, una notizia che giunge decisamente inaspettata considerando gli stretti legami che intercorrono tra BigG e Mozilla.
Vale sicuramente la pena di approfondire la questione per vedere se questo nuovo browser presentato possa portare innovazioni e miglioramenti oppure se non si tratti che di un ulteriore altro browser, in aggiunta a Internet Explorer, Firefox, Safari e Opera, e con il quale noi sviluppatori web dovremo fare i conti.
La prima considerazione da fare riguarda l’eventuale successo che potrà avere Chrome: sono piuttosto scettico sulla possibilità che possa guadagnarsi una discreta quota di mercato. Il caso di Safari 3 insegna, si tratta di un browser dalle ottime caratteristiche tecniche ma la sua diffusione è praticamente irrilevante.
Google non è Microsoft che distribuisce Windows con Internet Explorer pre-installato su quasi ogni nuovo computer venduto, sarà difficile superare questa inerzia e convincere gli utenti ad installare un programma nuovo. Firefox ha impiegato anni per ritagliarsi la propria nicchia di mercato ed ha potuto contare sul supporto dell’intera community open source ed importanti campagne pubblicitarie.
Difficile quindi che Google Chrome possa contastare lo strapotere di Internet Explorer.
Detto questo, passiamo alle sue caratteristiche tecniche.
Chorme adotta il motore di rending Webkit, si tratta di un’ottima scelta. Webkit è un ottimo progetto, dalle prestazioni eccellenti.
A mio parere la novità più importante consiste nell’utilizzo di un processo separato per ogni tab aperto nel browser. Si tratta di una soluzione definitiva e che avremmo dovuto vedere implementata in qualsiasi browser esistente, non bisogna infatti mai dimenticare la lezione di Eric Raymond sull’utilizzo dei thread al posto di processi separati. I crash dell’intero browser, con tutti i suoi tab e le sue finestre aperte, a causa di un semplice bug di un qualsiasi oggetto flash è un’esperienza purtroppo nota ad ogni utente. Riguardo ai thread, Raymond ricorda che: “… These are a recent import from elsewhere, … the idea of threads is native to operating systems with expensive process-spawning and weak IPC facilities. …”. Con elsewhere ci si riferiva molto probabilmente a Windows, ne deriva quindi un’ulteriore perplessità, oltre a quelle già esposte in altri blog, sulla scelta di rendere disponibile Google Chrome soltanto per questa piattaforma.
Infine una nota riguardante l’implementazione dell’interprete JavaScript. Non c’è alcun dubbio sul fatto che in futuro le applicazioni web renderanno necessarie prestazioni elevate anche nell’esecuzione di codice JavaScript. Google Chrome risponde a quest’esigenza con l’utilizzo della macchina virtuale V8. Viene definita la più rapida tra quelle in circolazione, ma in realtà il confronto vero dovrebbe avvenire con SquirrelFish di Safari e TraceMonkey per Firefox. Sarà interessante vedere come si evolverà la situazione.
Update: Wayne Pan e John Resig hanno pubblicato alcuni benchmark confrontando le prestazioni degli interpreti JavaScript esistenti. V8 di Chrome è il più performante nella maggior parte di questi test, il dato più importante mi sembra comunque il grande aumento di prestazioni portato dalla nuova generazione di interpeti.




Tutto il contenuto di questo blog è tutelato da una licenza