jQuery.info
Découvrir et utiliser jQuery, la librairie javascript du XXIIème siècle

Home page > Actualités > jQuery 1.1.3: 800%+ più veloce, sempre 20KB

jQuery 1.1.3: 800%+ più veloce, sempre 20KB

mercoledì 4 luglio 2007, di John Resig, Renato

Tutte le versioni di questo articolo: [français] [italiano]

Traduzione dell’articolo jQuery 1.1.3: 800%+ Faster, still 20KB di John Resig


Sono lieto di annunciare il rilascio di jQuery 1.1.3. Dopo molti mesi di test, sviluppo, ed ancora test, abbiamo una versione molto solida disponibile per il download. Sono stati corretti più di 80 bug ed introdotti un buon numero di miglioramenti.

I più rappresentativi sono:

  1. Miglioramento della velocità, i selettori DOM sono più veloci di oltre l’800% rispetto a jQuery 1.1.2
  2. Riscritto il sistema degli eventi, con una migliore gestione degli eventi della tastiera.
  3. Riscritto il sistema degli effetti (con relativa suite di test fx), con una maggiore velocità di esecuzione e miglior supporto per tutti i browser.

Download:

Come sempre, se trovate dei bug in questa versione, per favore, inviate un rapporto al Bug Tracker di jQuery

Funzionalità della versione 1.1.3

Enorme miglioramento nella velocità dei selettori

A causa delle incessanti richieste, abbiamo scavato a fondo nel codice ed operato una serie di grosse modifiche al motore dei selettori di jQuery. Ecco un resoconto dei miglioramenti nella velocità d’esecuzione che sono stati apportati a jQuery. Tutti i numeri sono basati sulla suite di test SlickSpeed.

Browser jQuery 1.1.2 jQuery 1.1.3 % Miglioramento
IE 6 4890ms 661ms 740%
Firefox 2 5629ms 567ms 993%
Safari 2 3575ms 475ms 753%
Opera 9.1 3196ms 326ms 980%
Media miglioramento: 867%

Inoltre, abbiamo confrontato il nuovo codice con alcune delle più popolari librerie di selettori, sempre grazie alla suite di test SlickSpeed.

Browser Prototype jQuery Mootools Ext Dojo
IE 6 1476ms 661ms 1238ms 672ms 738ms
Firefox 2 219ms 567ms 220ms 951ms 440ms
Safari 2 1568ms 475ms 909ms 417ms 527ms
Opera 9.1 220ms 326ms 217ms 296ms 220ms

Ci sono alcuni punti da notare riguardo ai risultati della suite di test:

  • Siamo circa 800% più veloci rispetto a jQuery 1.1.2.
  • Siamo il framework più veloce con il più diffuso browser, Internet Explorer 6.
  • Siamo l’unico framework che non restituisce risultati errati.
  • E tutto ciò senza alcun compromesso — jQuery pesa sempre 20KB, cosa che vi aspettavate ed apprezzavate .

Nuovi Selettori

Selettori Unicode: Questo è un’importantissima aggiunta per coloro che desiderano utilizzare i valori degli attributi, degli ID, i nomi delle classi o dei tag in Unicode. Ora potete usarli direttamente nei selettori di jQuery:

$("div.台北")
$("div#台北")
$("foo_bar台北")
$("div[@id=台北]")

Escape dei Selettori: Un funzionalità frequentemente richiesta. Ora potete selezionare elementi per ID (o per un altro selettore) che contengono caratteri speciali, ad esempio il codice di seguito cercherà il div con ID “foo.bar”:

$("div#foo\\.bar")

Selettore di Ineguaglianza: Nonostante questo selettore non faccia parte della specifica CSS, è frequentemente utilizzato ed incluso in altre librerie di selettori, così abbiamo deciso di aggiungerlo:

$("div[@id!=test]")

miglioramenti di :nth-child(): Questo selettore vi consente di trovare degli specifici elementi figli. Abbiamo supportato selettori come :nth-child(1) e :nth-child(odd) sin dalla nascita di jQuery, ora abbiamo aggiunto i selettori avanzati :nth-child, che sono:

$("div:nth-child(2n)")
$("div:nth-child(2n+1)")
$("div:nth-child(n)")

Attributi separati da spazi: Dopo averlo rimosso in jQuery 1.0, questo selettore è stato reintrodotto “vox populi”. Consente di trovare delle stringhe separate da spazi (delle parole) all’interno di un attributo (come l’attributo class o rel).

$("a[@rel~=test]")

Miglioramenti delle Animazioni

Velocità: Le animazioni ora sono significativamente più veloci e fluide. Inoltre, è possibile lanciare animazioni simultanee senza notare rallentamenti.

Test: Disponiamo ora di una suite di test dedicata per le animazioni — ciò ci ha permesso di correggere molti bug fastidiosi che prima non riuscivamo ad individuare.

Listeners degli Eventi DOM

Il sistema degli eventi di jQuery è stato rimodulato internamente utilizzando il sistema degli eventi DOM, invece del classico stile (“onclick”) di associazione degli eventi. Questo miglioramento vi consente di essere meno invasivi nell’uso della libreria (non pregiudicando il funzionamento di eventuali altre librerie). Inoltre, ci ha aiutato a risolvere alcuni problemi ancora aperti riguardo all’associazione di listeners di eventi agli IFrame.

Normalizzazione degli Eventi

Passi in avanti sono stati fatti per normalizzare gli eventi di mouse e tastiera. Ora è possibile accedere alla proprietà event.which per avere più dettagli sul tasto o sul bottone premuto.

.is() Multipli

Il metodo .is() può ora ricevere selettori multipli, separati da virgole. Questo permette di confrontare il contenuto di un oggetto jQuery con più selettori.

$("div").is(":visible, :first")

Versione del Browser

Una funzionalità frequentemente richiesta, dagli autori di plugin, era quella di poter determinare la versione del browser in uso. Ora forniamo un’ulteriore proprietà che permette di accedere a questa informazione.

jQuery.browser.version

Bug Corretti

L’elenco dei ticket mostra una lista completa di tutti i problemi risolti in questa versione.

Il Futuro di jQuery

Abbiamo pensato molto alla direzione da intraprendere ed ai progressi da fare per far avanzare il progetto jQuery. Attualmente ci stiamo concentrando su diversi aspetti, ma l’obiettivo principale è sempre l’avanzamento del core della libreria jQuery. Ecco alcune previsioni per le due prossime versioni:

jQuery 1.1.4

Sarà l’ultima versione del ramo 1.1 di jQuery - un’altra versione per correggere bug con qualche piccolo miglioramento. Inoltre questa versione dichiarerà una serie di metodi come obsoleti, in preparazione al rilascio della futura versione 1.2 di jQuery.

Prevediamo di rilasciare questa versione alla fine di Luglio.

jQuery 1.2

Sarà la prossima versione maggiore di jQuery, e conterrà un numero significativo di nuove funzionalità. Tutti i dettagli possono essere trovati nella Roadmap di jQuery 1.2.

I vostri commenti ed i vostri riscontri su questa versione sono molto apprezzati. Siamo ancora in fase di preparazione, quindi nulla è stato completamente definito. Prevediamo di rilasciare jQuery 1.2 per la fine di Agosto.

Rispondere all'articolo


Ultimi commenti