Categories
ajax webdev

jQuery 1.3, un mostro di performance

jquery_insertion_benchmarkIeri è stata rilasciata la versione 1.3 di jQuery, a mio parere una delle migliori librerie javascript sul mercato, che vede affiancate alle molte novità un notevolissimo incremento di performance.

JQuery 1.3 introduce un nuovo sub-framework per il CSS selector engine, totalmente indipendente dalla libreria e co-sviluppato con gli autori di Dojo, chiamato Sizzle. Il subframework in questione riduce del 49% i tempi di elaborazione del codice rispetto al precedente motore utilizzato in jQuery 1.2.x.

Di riflesso, tramite Sizzle, gli sviluppatori hanno potuto aggiungere (finalmente) la possibilità di associare eventi ad oggetti creati in realtime, il tutto senza preoccuparsi di dover rieseguire il bind di eventi agli stessi in caso di aggiornamento del DOM.

Ultima chicca è che questa versione di jQuery non introduce più fix per garantire compatibilità cross-browser all’interno del codice ma delega la funziona ad un oggetto dedicato chiamato jQuery.support. Questo permetterà, in futuro, di introdurre un minor numero di possibili bachi e di poter controllare più facilmente l’inserimento di nuovi controlli per i browser senza intaccare il codice dei singoli metodi del framework.

Trovate maggiori informazioni e qualche benchmark su jQuery 1.3 sulla documentazione di release ufficiale del progetto.

ciuaz

Categories
tecnologia

CouchDB

couchdb, database per documenti

Decisamente divertente…

ciuaz

Categories
ajax webdev

Form Ajax “degradabili” con JQuery e JQuery.Form

La degradazione del codice è un po’ il mio cavallo di battaglia quando discuto con sviluppatori “ajax-centrici” che preferiscono puntare sull’effetto di un fade che sulla usabilità/accessibilità dell’applicazione anche su browser datati o con javascript bloccato (ie. cellulari).

La libreria JQuery si è, in più occasioni, dimostrata ottima per la gestione della degradabilità del codice ed uno degli esempi più interessanti di questa pratica è il plugin JQuery.Form.

Il plugin in questione infatti intercetta i normali form html e li ajax-izza automaticamente, permettendo inoltre di abilitare operazioni pre e post invio. Nel caso in cui, per qualche motivo, il motore js non dovesse funzionare allora la form, per nulla toccata dal plugin, continuerà a funzionare come nel sano, vecchio, web 1.0.

Vediamone un esempio di funzionamento partendo dal tutorial presente nel sito del plugin.

Categories
ajax tecnologia

jQuery 1.2 e jQuery UI

Dopo aver pubblicato il precedente post (in draft da oltre un mese) sono andato per curiosità sul blog di jQuery. La scorsa settimana hanno rilasciato la versione 1.2 del framework, ma questo non è tutto. Infatti, finalmente, il pacchetto User Interface ha visto la luce.

Questo plugin, anche se definirlo plugin è riduttivo, va a sostituire il precedente (ed ormai semi abbandonato) chiamato interface, estendendone molte funzionalità e colmandone le lacune (il nuovo accordion è stupendo).

Le novità sono veramente tante e non vedo l’ora di avere un pochino di tempo per metterci le mani sopra…

ciauz

Categories
ajax di tutto un po' tecnologia

Learning jQuery, il libro

Image of Learning  jQuery Visti alcuni lavoretti fatti con questo framework in js, durante l’estato ho preso, e recentemente finito di leggere, Learning jQuery edito dalla Packt.

Il libro è molto chiaro e spiega tutti i meccanismi dietro a jQuery, ed approfondisce molti dei tutorial sparsi per la rete e lo stesso wiki del progetto, come al solito però (nei libri della Packt) il codice è all’interno del normale testo (cambia solo il font in courier) rendendo spesso confusionaria la lettura (almeno per me).

Il libro è da leggere se sviluppate con jQuery, anche se troppo “ostico” per chi è alle prime armi con js (infatti al linguaggio viene dedicata solo un’appendice), comunque tra i vari argomenti ho apprezzato, a parte il capitolo sulla scrittura di plugin che presto rileggerò più attentamente per rivedere e rendere più consistente il lavoro da me fatto, una delle appendici che riguarda i memory leaks di javascript, di cui onestamente ero all’oscuro.

Peccato solo che il libro tratti la versione 1.1.x e che con l’1.2.x molte delle API siano cambiate (soprattutto quelle relative al DOM).

ciauz

Categories
ajax webdev

jQuery 1.1.4, sempre meglio!

La scorsa settimana è stata rilasciata la 4a minor release di jQuery, per la precisione la 1.1.4. A parte i continui miglioramenti di performance ed i bugfix che questa libreria sta continuando ad avere si iniziano ad intravedere le prime modifiche alle API che porteranno all’imminente trunk 1.2.

Categories
ajax webdev

Binding degli eventi con jQuery

Una delle cose più comode di jQuery è quella di poter associare dinamicamente a particolari azioni dell’utente eventi in js grazie alla funzione bind().

Ad esempio se vogliamo far si che ad un click su un particolare link parta una animazione ci basterà scrivere

<a href="#" class="button_close">chiudimi</a>
<script>
$(document).ready(
	function () 
	{ 
		$('a.button_close').bind('click', function(){$(this).hide();});
	});
</script>

il problema dei binding però nasce nel momento in cui vogliamo generare nuovi elementi ai quali applicare “al volo” tutti i trigger precedentemente creati.

Categories
webdev

jQuery, FireBug ed hacking dei siti

Mentre studiavo jQuery (recentemente introdotta in WordPress) mi sono imbattuto in questo tutorial sull’utilizzo della stessa (con la bookmarklet jQueryfy) insieme a FireBug per modificare al volo i siti.

Stupendo.