13 Dec
duccio

duccio il 13 December 2006 parla di Risorse

Un primo sguardo a Firefox 3.0 di Ryan Paul

Mozilla ha ufficialmente rilasciato la prima release alpha di Firefox 3.0. Nome in codice Gran Paradiso, Firefox 3 include il nuovo motore Gecko 1.9 che si avvale del framework per il rendering Cairo e di altre caratteristiche pesantemente modificate, algoritmi migliorati che aumentano le funzionalità per il layout di Firefox e risolvono alcuni vecchi bug sui CSS.

I miglioramenti in Gecko 1.9 (incluso nell’ultima release Gran Paradiso nightly, ma non nell’ alpha) finalmente consente a Firefox di passare gli Acid 2 test, un Css test case sviluppato da Web Standards Project che mostrano le falle dei motori di renderenig di HTML/CSS. Per passare Acid 2 test, i browsers devono essere compatibili con i W3C standards e fornire supporto per una vasta varietà di funzionalità che sono considerate importanti dai Web Designers. Il test Acid 2 è considerato per essere una importante milestone (pietra miliare) nello sviluppo di Firefox.

tango

Da sinistra a destra: Acid 2 con Firefox 2.0, Firefox 3.0 Alpha 1, e Firefox 3.0 Alpha Minefield (nightly)

Gecko 1.9 inoltre include un nuovo modello di threading, supporto per il Cocoa, e alcune unità di fix (ancora in sviluppo) che potrebbero eventualmente facilitare uno zoom a piena pagina come quello fatto in Opera.

Il passaggio di Firefox a Cairo è importante. Scritto nel linguaggio di programmazione C, la versatile libreria Grafica di Cairo è un API per il disegno vettoriale che supporta una vasta varietà di backends. Cairo usa l’accelerazione hardware se disponibile e semplifica il cross-platform nello sviluppo di applicazioni grafiche fornendo un consistente framework interno che enfatizza l’indipendenza dalla piattaforma. Simile nelle funzioni a Microsoft Windows Presentation Foundation (Chiamato Avalon) e all’Apple Quartz 2D, Cairo è stato largamente adottato dalla comunità open-source ed è attualmente usato in numerose applicazioni open-source e framework incluso GTK toolkit e l’ambiente GNOME desktop.

Firefox usa Thebes, un Wrapper C++ per Cairo. Si spera che avendolo integrato in Firefox, questo decrementi le righe di codice necessarie per la grafica, semplificando il codice di Firefox e rendendo più facile un futuro miglioramento di Gecko. Cairo apre le porte all’accelerazione hardware nel rendering usando Glitz, Quartz, o un server X come Xgl. Cairo Inoltre elimina alcuni bug fastidiosi nel rendering, e fornisce nuove funzionalità nel disegno, migliora la qualità dell’anti-aliasing, e migliora il suporto nativo dell’SVG.

I miglioramenti nell’SVG in Gran Paradiso sono già evidenti. In un recente messaggio apparso sulla mailing list Tango artist, quelli di Tango e Steven Garrity, un membro del team Mozilla Visual Identity, forniscono una interessante comparazione che mostra come i miglioramenti sull’SVG di Firefox 3 si notino sul rendering delle icone SVG di Tango.

svg-in-firefox.png Comparazione delle SVG icon per cortesia di Steven Garrity

Sebbene Cairo abbia un sacco da offrire, la libreria da sola ha ancora delle mancanze. E’ ancora in pesante sviluppo ed è stata migliorata considerevolmente, ma ci sono ancora alcuni rilevanti problemi di prestazioni che devono essere ancora risolti. Recenti test condotti da Zack Rusin hanno rivelato che Cairo è un po’ più lento di Qt4 in alcuni contesti. Un nuovo Bently-Ottman tessellator ancora in sviluppo da Carl Worth ed altri del team Cairo potrebbe potenzialmente risolvere alcuni problemi di performance di Cairo.

Ci sono alcuni nuovi Bug in Gecko 1.9, alcuni dei quali sono stati introdotti in Gecko dopo essersi spostati su Cairo. Un assortimento di problemi sul font rendering è stato già documentato in Gran Paradiso sulle tre maggiori piattaforme, e problemi di compatibilità sono stati riportati dagli utenti di linux che non usavano almeno la Xorg 7.

Le alpha di Gran paradiso per Windows, Os X e linux sono disponibili per il download dall’ftp di firefox così come i sorgenti, ma è importante notare che queste versioni così giovani sono sperimentali e non sono da usare regolarmente. Gli sviluppatori Web possono usare la versione alpha di Gran Paradiso per assicurarsi che i loro siti saranno renderizzati correttamente su Firefox 3 e i membri della comunità di Mozilla possono usarlo per aiutare il test ed il debug di Firefox. L’archivio compresso BZ2 contente i sorgenti di della versione alpha1 Gran Paradiso e i file per Linux sono circa 8MB, ma si espandono fino a 25MB. Prima di testare Gran paradiso è utile fare un backup dei settaggi Firefox (~/.mozilla su Linux) così i tuoi file di configurazione non saranno danneggiati.

Se volete eseguire le due versioni di Firefox fianco a fianco per confrontare le differenze di rendering, dovete settare il valore di MOZ_NO_REMOTE a 1 e creare un profilo di Firefox separato. Alcune istruzioni su come farlo su Windows e Linux le potete trovare qui.

Estratto e tradotto da: A first look at Firefox 3.0 di Ryan Paul.

Scrivi un commento