A Ovest Di Paperino

Welcome to the dark side.

Me, myself and Javascript

Con l’intenzione di capire un po’ meglio il fantastico mondo di Javascript ho cominciato a giocherellare in maniera più intensa col dietro le quinte di questo website. Sono partito dall’idea di cercare un modo più elegante per implementare il Throbbler in modo che il cablaggio fosse quanto più possibile template agnostico.

Questo concetto è condensato egregiamente dall’espressione di Javascript non-intrusivo (? In inglese Unobtrusive JavaScript) spiegata in maniera chiarissima in un paragrafo del libro “jQuery in action”. Leggendo i pro ed i contro di ogni tecnica mi son reso conto che la maniera più trasparente possibile per implementarlo è l’uso dell’evento ready di jQuery.

Felice come una pasqua ho aggiunto questa comoda libreria anche al mio blog. Il risultato è stato abominevole: conflitto con la libreria scriptaculous che serve a far funziona Lightbox; scriptaculous a sua volta dipende da un’altra libreria chiamata prototype anche questa con qualche non minore problema di compatibilità con jQuery.

Il tentativo successivo è stato cercare di sostituire Lightbox con una libreria basata su jQuery. Bingolando è venuto fuori un plugin chiamato “jQuery Lightbox” che dopo svariate ripercussioni ha cominciato a funzionare come doveva ma con la metà delle funzionalità offerte dall’originale.

Ulteriore bingolamento e ho scoperto FancyBox: tutte le feature di Lightbox, estetica secondo me superiore e dipendente solamente su jQuery. Il test successivo è stato verificare che l’ordine di apparizione sulla pagina non creasse conflitti con i video di YouTube e la libreria TinyMCE. Tutto sembra essere andato per il verso giusto, ma mi ci son volute un paio d’ore per afferrare il toro per le corna.

Conclusione personale: per fare le cose in maniera corretta l’uso di un framework è indispensabile viste le notevoli differenze di implementazione tra tutti i browser. I problemi cominciano quando le librerie si accavallano in virtù del fatto che in Javascript non esiste il concetto di namespace. Per fortuna per quello che mi serve tutto ciò ci può stare: Javascript – come ribadito già in precedenza – è OTTIMO per arricchire la funzionalità di un sito Web; davvero mi sforzo ma non capisco chi pensa che con un po’ di AJAX si possano sostituire completamente le funzionalità del desktop

-quack