jQuery è la più grande libreria JavaScript open source, cross-browser, compatibile CSS3 e ha reso lo scripting lato client un gioco da ragazzi.
La sintassi è semplice e jQuery può produrre bellissime animazioni quasi in stile Flash. A differenza di Flash, jQuery è visualizzabile su iOS e produce facilmente pagine web dinamiche.
jQuery sta rapidamente crescendo in popolarità e con la recente conferenza jQuery tenutasi a San Francisco alla fine di giugno, sembra un momento opportuno per iniziare una conversazione su jQuery e in particolare su alcuni dei pro e contro del suo utilizzo per lavori più impegnativi.
Forse la cosa migliore di jQuery è che non è necessario essere un genio della programmazione per stupire i clienti.
Di solito c'è più di un modo per skinare un gatto, ma la possibilità di aggiungere plug-in nella libreria di base rende jQuery una soluzione incredibilmente flessibile e soprattutto veloce. L'uso di CSS può essere la scelta migliore in alcuni casi (vedi sotto), ma se le tue capacità di programmazione sono più limitate, la selezione di jQuery ti aiuterà a portare a termine il lavoro.
Lo sviluppo Web è troppo spesso un processo a corto di tempo e risparmiare minuti o addirittura ore di lavoro spesso non è un lusso ma una necessità. John Resig e gli altri sviluppatori dietro al progetto jQuery comprendono veramente l'equazione tempo / denaro che gli sviluppatori web devono affrontare quotidianamente. Implementazione rapida di solito significa più dollari in tasca.
La verbosità di JavaScript, la complessità di implementazione dei CSS e gli svantaggi ben pubblicizzati di Flash rendono jQuery la soluzione più pratica per molti problemi comuni, tra cui transversioni DOM, gestione degli eventi, interazioni AJAX e animazione.
Microsoft e Nokia sono entrambi dietro a jQuery e stanno pianificando di accorparlo nelle loro nuove piattaforme, suggerendo un futuro luminoso. Inoltre, quasi tutti nella comunità open source sono dietro a jQuery perché:
L'open source consente una crescita rapida e dinamica. Non ci sono licenze di cui preoccuparsi ed è gratuito. Free si traduce in realtà in una comunità di menti che è molto più ampia e più intelligente degli sviluppatori tenuti prigionieri da una sola compagnia.
Il nucleo di jQuery è stato costruito da alcune delle menti più brillanti del business e lo sviluppo sta letteralmente esplodendo.
Taglio della carta di uomo d'affari sul vecchio libro via Shutterstock
L'open source ha i suoi problemi: per esempio, non tutto è costruito secondo uno standard comune. Questo va bene se il tuo cliente - o più probabilmente tu - ha tempo e denaro per investire il codice di tweaking. Tuttavia, se il tempo, i soldi, l'abilità o tutte e tre sono scarse, la tua schiena sarà contro il muro quando qualcosa va storto.
L'ultima versione stabile di jQuery (v1.7.2) è stata rilasciata il 21 marzo 2012, quindi è probabile che la capacità di trovare soluzioni comuni per il tuo problema esatto, tratte dal pool di comunità, scarseggi per un po 'di tempo a venire.
Un altro grosso problema con jQuery è che ci sono più versioni là fuori. Alcune versioni funzionano bene con gli altri e altre no. Ad esempio, la compatibilità del browser con le animazioni è stata un problema di vecchia data con le animazioni di jQuery. Assicurandoti di eseguire l'ultimo aggiornamento di jQuery risolverai molti dei problemi noti relativi alle animazioni di jQuery, ma ti rimane la scelta tra l'hosting della libreria da te stesso e l'aggiornamento continuo, oppure il caricamento della libreria da Google e il rischio di incompatibilità con il tuo codice come nuove versioni sono rilasciate.
Il kit di strumenti di controllo AJAX fornisce controlli lato server. Questo dà allo sviluppatore molto più potenza e flessibilità. Ma il toolkit AJAX è ampio e voluminoso rispetto a jQuery. Poiché jQuery continua a sviluppare il codice leggero probabilmente vincerà soprattutto con Microsoft onboard - con il supporto di jQuery Microsoft sta essenzialmente scaricando il proprio MicrosoftAjax.js. In superficie, i risultati dell'utilizzo di jQuery per gestire l'XML sono davvero interessanti; ci sono così poche righe di codice, sembra tutto così facile ...
Tuttavia, la gestione di AJAX e jQuery è un'area comune in cui gli svantaggi di non essere realmente un programmatore diventano spesso evidenti. Ad esempio, la comprensione delle differenze fondamentali tra le richieste HTTP GET e POST è vitale, eppure così tanti designer che non hanno questa conoscenza, si aspettano che jQuery riprenda il loro gioco. Ci sono delle insidie che i progettisti potrebbero non essere a conoscenza, per esempio le richieste GET possono essere limitate e molti programmatori inesperti passano semplicemente al POST per risolvere il problema; questa può essere una cattiva idea, GET non apporta modifiche durature sul server mentre POST può farlo. Il POST non è un comando che dovrebbe essere ripetuto arbitrariamente, ma a volte viene usato inconsapevolmente.
Un altro problema lato server comune relativo a jQuery alza la sua brutta testa se $ .get è usato al posto di $ .getJSON (notazione oggetto javascript). Non utilizzare $ .getJSON per problemi di trasporto dei dati può causare ogni sorta di caos.
Giovane ragazzo che finge di guidare un motore di terra gigante via Shutterstock
È facile essere cool con jQuery, non è così facile essere cool e corretto.
Per utilizzare jQuery e jQuery particolarmente interessanti, è necessario un impegno per la comunità. Lo sviluppo è rapido ed è eccitante, ma può anche portare di nuovo a questioni legate al tempo. Lo sviluppo è così veloce in alcune aree che, se uno sviluppatore non segue e prende parte alla comunità su base regolare, è facile rimanere nella polvere. Questo è un ulteriore impegno di tempo per gli sviluppatori che sono a corto di tempo cercando di gestire un'impresa, si prendono cura di più clienti, implementano campagne di SEO e di Content Marketing e continuano a vedere i propri figli.
È necessario valutare realisticamente il tuo livello di abilità e il tempo necessario per stare al passo con tutti i nuovi sviluppi di jQuery.
I due grandi elefanti nell'armadio relativo a jQuery sono stati lasciati per ultimi: velocità e codice spaghetti.
jQuery può essere lento, e per le animazioni a volte molto più lento rispetto all'utilizzo di CSS. In un sito complesso e grande ogni piccolo frammento di secondo conta. Il motivo è duplice: più manipolazioni DOM, una sopra l'altra, possono rallentare un sito; in secondo luogo, CSS utilizza transizioni browser-side per animazioni ed è scritto in C ++. Questo lo rende leggermente più veloce di JavaScript.
jQuery spaghetti, se non l'hai ancora incontrato, nel tempo lo farai. Il più grande attributo di jQuery - quanto sia facile da usare - è anche la sua guarigione di Achille. jQuery è una libreria progettata per aiutare con transversori DOM e selettori CSS. Lo fa con straordinaria efficienza. Non è destinato a essere utilizzato come framework per l'interazione lato client. Se utilizzati in modo errato, in particolare i selettori CSS jQuery, il risultato finale può essere un codice che cresce e cresce in un file .js di dimensioni gigantesche finché non diventa impossibile da mantenere. Lanciate le callback, alcune modifiche al design cosmetico e denominazioni generiche e lungo la strada, mantenere un sito jQuery può diventare un incubo.
Foto d'annata di due giovani ragazzi che mangiano gli spaghetti con le loro mani via Shutterstock
La community di jQuery sta affrontando i problemi relativi agli spaghetti jQuery. Cedric Dugas ha fatto conoscere gli spaghetti jQuery a Confoo. Tra gli altri, è dedicato a ricordare ai programmatori di utilizzare le migliori pratiche con jQuery per prevenire ciotole di spaghetti enormi. Come ha commentato un progettista front-end, per usare veramente jQuery è necessario conoscere e comprendere JavaScript. Tagliare e incollare ha sicuramente i suoi svantaggi in quanto consente risultati senza comprensione. Mentre questo può funzionare per un po 'può anche causare tutti i tipi di problemi di manutenzione a lungo termine.
Utilizzare un buon framework può aiutare a prevenire alcuni degli spaghetti jQuery. Sfortunatamente, i framework sono davvero una nuova area e ci vuole tempo per scegliere i giusti framework e farli giocare bene l'uno con l'altro. Anche in questo caso, questo tempo aggiuntivo deve essere preso in considerazione nell'equazione di jQuery. Al momento ci sono molti framework che cercano di dominare lo spazio MVS Framework lato client. Backbone.js è il più popolare al momento ma ha una concorrenza seria.
jQuery è una delle migliori librerie disponibili e può rendere la scrittura di JavaScript molto più semplice. Tuttavia, come molti altri strumenti, jQuery è utilizzato al meglio da un esperto artigiano. Cadiamo tutti in questa categoria? Ovviamente no. Questo significa che non dovremmo usare jQuery? Ovviamente no. Suggerisce solo che avere il buon senso di chiedere aiuto quando sei fuori dalla tua profondità è una buona idea per la maggior parte del tempo.
Usi jQuery e conosci anche JavaScript? Hai bisogno di capire la programmazione per implementare jQuery? Fateci sapere cosa ne pensate nei commenti.