Pesare vantaggi e svantaggi nell'utilizzo di jQuery per un solo widget

5

Ho usato caselle di selezione HTML o caselle di testo per l'immissione della data. Al momento dell'invio, la data viene convalidata e, se non valida, viene restituito un errore. Finora ho evitato i calendari di javascript, ma jQuery DatePicker sembra essere una scelta popolare tra le persone su SO. Stavo aggiornando la mia app e mi chiedevo se utilizzare un calendario Javascript (jQuery datepicker in particolare). Sarebbe una buona "funzionalità" per gli utenti esistenti e si adatterebbe all'aspetto "2011" aggiornato dell'app.

Non sto usando jQuery o qualsiasi altra libreria JS. Gli script in uso sono "semplici" javascript. Con jQuery, dovrò includere la libreria di jQuery nell'elenco universale dei file .js o collegare alla copia di Google. In entrambi i casi aumenterà il tempo di caricamento della pagina. E capisco che con o senza datepicker sul posto, la validazione (e la gestione degli errori) rimane e che il widget datepicker è solo a scopo illustrativo. Ma l'interfaccia utente è un fattore importante.

Un aspetto positivo che posso vedere è che potrei usare più jquery in futuro e non dovrò pensare al tempo di caricamento della pagina e ai problemi di larghezza di banda.

Quindi la mia domanda è, è trascinare jQuery la decisione giusta, quando vedo solo un uso nel prossimo futuro? O dovrei usare un semplice widget di calendario JS o semplicemente dovrei limitarmi alle caselle di selezione o di testo.

Volevo postarlo su SO, ma poiché l'argomento riguarda più le pratiche di programmazione e il processo decisionale, sto postando la domanda qui.

    
posta abel 02.02.2011 - 09:05
fonte

3 risposte

5

@Alexey ce l'ha praticamente, ma da dove mi siedo ...

Se vuoi un buon raccoglitore di date, ci sarà sicuramente un po 'di overhead, indipendentemente da quale sceglierai, oltre a voler scegliere qualcosa di ben sviluppato e funzionale.

Quindi, accettando che hai intenzione di prendere un colpo, la domanda diventa quanto un grande successo sei pronto a prendere? L'utilizzo di una libreria standard (e jQuery è eccellente) significa che puoi effettuare il pull da una rete CDN, beneficiando così sia della velocità che del caching e lasciando solo, nella maggior parte dei casi, solo il bit dell'interfaccia utente specifico per il tuo sito.

Una volta che hai jQuery, si aprono altre opportunità (ad esempio le liste di auto-suggerimento diventano abbastanza banali) e se l'interfaccia utente è importante, l'uso di (qualcosa di simile) jQuery porterà benefici.

    
risposta data 02.02.2011 - 09:54
fonte
4

L'ID suggerisce di provare jQuery. Nella versione minificata è di 83 kb, e puoi consegnarlo con MS, Google e jQuery possedere CDN.

Un giorno potresti voler aggiungere finestre di dialogo, AJAX e altre cose. BTW SO usa jQuery ed è ok =)

Anche alcuni browser possono caricare js in parallelo. Puoi utilizzare jQuery e aggiungere solo il plug-in DatePicker dall'interfaccia utente.

    
risposta data 02.02.2011 - 09:33
fonte
0
  1. Google CDN a volte è lento (aspettando 5-10 secondi per caricare le librerie). Voglio dire, vieni - comprimila usando GZIP e la dimensione sarà di circa 30kb, molto meno di qualsiasi immagine, non hai bisogno di CDN per questo.
  2. I browser non possono caricare JS in parallelo, inoltre tutto il codice javascript è limitato a un core della CPU (singolo thread), è possibile utilizzare il differimento, ovviamente, ma causa problemi, probabilmente gli script non funzionano con esso. Inoltre, il differimento causerà solo il rendering HTML non bloccerà il caricamento di JS, il codice è ancora limitato al thread singolo.

Ma probabilmente avrai comunque bisogno di JQ e non sarà troppo lento (rispetto ad alcune schifezze come l'interfaccia utente di DOJO che bloccherà tutte le versioni di IE per un paio di secondi prima che possa essere caricato anche il layout più semplice).

Dovresti prendere in considerazione l'utilizzo di mootools, una lib di gran lunga migliore e più veloce, che incoraggi migliori abitudini di codifica. Ma è anche più difficile da imparare, ma il codice è più facile da leggere ...

Scegli con attenzione. IE non può gestire più di un paio di librerie, i controlli dell'interfaccia utente JS premade troppo bene. Il codice già realizzato (Yahoo UI, Dojo) è di qualità molto bassa e molto lento, se sei così fortunato da poter abbandonare tutti gli utenti di IE - non hai nulla di cui preoccuparti. Puoi includere metà della merda di JS mai inventata sul tuo sito web e funzionerà piuttosto bene ... ma non in IE;)

    
risposta data 02.02.2011 - 17:52
fonte

Leggi altre domande sui tag