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
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

[code]
chiudimi

[/code]

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
ajax pensieri

AJAX e PHP, un buon punto di partenza

Image of AJAX e PHP Tramite il GrUSP (ma soprattutto grazie a Claudio) ho potuto mettere mano su questo libro edito da Packt Publishing che introduce alle tecnologie Ajax strizzando un occhio a PHP.

Devo dire che l’approcio ad ajax mi è piaciuto abbastanza, infatti si concentra più sulle problematiche di implementazione in generale rispetto a trattare singolarmente una libreria o l’altra (anche se c’è un capitolo dedicato a script.aculo.us), dando quindi ad un lettore alle prime armi una buona comprensione dell’argomento.

Peccato solo che l’impaginazione non sia un granchè, spesso il codice si confonde con il testo rendendo difficile la lettura. :(

Comunque, se volete avvicinarvi ad ajax, e capire meglio alcune cosette di XmlHttpRequest, comprate pure il libro non ve ne pentirete.

ciuaz

Categories
ajax tecnologia webdev

TrimJunction

Che con l’uso massiccio di ajax il Javascript sia passato da linguaggetto utile a fare script a qualcosa di molto di più è indiscusso. Quello che però offre TrimJunction è qualcosa di inimmaginabile fino ad un anno fa.

Questo progetto non è altro che un clone di Ruby on Rails interamente scritto in Javascript. Supporta a pieno l’MVC e permette di scrivere applicazioni di tipo SPA (single page application). Inoltre ha al suo interno un meta-motore SQL per fare il retrieving dei dati presenti nella pagina senza dover disturbare un eventuale DBMS.

Ovviamente se dovete comunicare con l’esterno è possibile sfruttare Json. A questo punto devo veramente iniziare a studiare Js come si deve…

ciuaz

Categories
ajax webdev

Video corsi di Javascript da Yahoo!

Se pensavate di conoscere JavaScript dopo la visione di questi filmati vi ricrederete. O quasi…

ciauz

Categories
ajax php webdev

Symfony 1.0 ed Ajax

E’ finalmente stata rilasciata la prima versione stabile di Symfony 1.0. Noto application framework per PHP 5 di cui ho già discusso più volte e che ho iniziato ad usare attivamente nell’ultimo mese e mezzo grazie ad un lavoro con Ciccio (mio guru sull’argomento).

Tra le magie di questa versione, perchè alcune cose ancora non me le spiego, ieri mi sono imbattuto nella gestione degli script con ajax. Symfony integra al suo interno Prototype (più o meno come fa anche Ruby) dando allo sviluppatore alcuni helper per attivarne le funzionalità.

La cosa stupenda è che il sistema sa se il metodo che è invocato è ajax o meno e gestisce di conseguenza il relativo templating. Cosa utilissima per non dover riscrivere due volte lo stesso codice e soprattutto per permetterne un certo livello di degradazione.