2010-05-09 11 views
8

Quindi ho sentito dei buoni motivi per utilizzare il jquery ospitato su Google a causa del caching. Ma non sono sicuro di ciò che riguarda l'interfaccia utente di jQuery.Vale la pena utilizzare l'interfaccia utente jQuery ospitata da Google?

Immagino che il file dell'interfaccia utente jQuery ospitato su google abbia ogni singola estensione e plugin (come Draggable, ecc.).

Quindi non è una specie di spreco se si dice che si utilizza solo le schede dell'interfaccia utente jQuery? per ottenere tutte quelle altre cose con esso.

Inoltre vedo che hanno alcuni dei modelli per i file CSS. Sto indovinando che il caching sarebbe il vantaggio principale dell'utilizzo del file ospitato.

risposta

7

Ne vale la pena. Il post sul blog per l'ultimo aggiornamento di jQuery ha usato la parola "performance" più di ogni altra - e per una buona ragione. La libreria non è piccola, quindi le prestazioni possono essere un problema.

Ospitare il tuo .js su Google è un modo per contare su jQuery come lingua franca del mondo JavaScript e potrebbe farti risparmiare tempo prezioso per il download nel browser. Ricorda, gli script bloccano i download paralleli in modo tale che ogni volta che il tuo utente spende il download dei file .js da te è tempo che non possono spendere il download di qualcos'altro.

Il crollo è che Google potrebbe forse andare giù, ma c'è già l'industria parlare di server di ridondanza e di roll-over per mitigare tale preoccupazione.

+0

Bene 2 domande relative ai download paralleli. Innanzitutto se usi jquery ui e jquery per l'hosting di google. Non sarebbe un download parallelo a blocchi (ottenendo 2 script dallo stesso server)? Mi occupo anche di questi problemi attraverso alcuni chiamati http Combiner, dove in modo dinamico prende tutti i miei file javascript e li trasforma in un file javascript quando arriva l'utente. Quindi un solo download si sarebbe verificato. Quindi è valsa la pena? – chobo2

+0

@chobo: in realtà, il download degli script che fanno parte della struttura del documento in fase di parsing interrompe l'analisi del documento in ogni caso, quindi gli script non possono essere scaricati contemporaneamente. Ad esempio, se jQuery fosse incluso per primo, seguito da jQueryUI, verrebbero scaricati e analizzati uno dopo l'altro nell'ordine in cui appaiono nel documento. –

2

Dipende. Se il file è già nella cache dell'utente, sarà più veloce rispetto al download della classe indipendente dal tuo server in quanto velocità di analisi> velocità di download. Se il file ospitato da Google non viene memorizzato nella cache dall'utente, supponendo una velocità di connessione corrispondente ai server di Google (non tenendo conto del salvataggio della ricerca DNS :-)), sarebbe più veloce recuperarlo dal tuo server.

+0

Ma il fatto è che le probabilità sono, l'utente è stato in un altro sito che ha utilizzato la libreria jQuery di Google nell'ultima settimana o giù di lì, quindi le probabilità sono che lo avranno memorizzato nella cache. –

+0

Questo è quello che stavo pensando. È piuttosto difficile decidere in alcuni casi. – chobo2

1

Google imposta correttamente fino in cache la libreria jQuery per la più ampia gamma di browser, utilizzando Cache-Control, Last-Modified, Expires, Age e Date. Cache in modo affidabile in ogni browser comune. Oltre a questo, il server è geo-localizzato: l'utente farà sempre il download iniziale dal server più vicino possibile a loro.

E come ha detto @editor, i browser bloccheranno i download di risorse parallele dallo stesso nome host. I tuoi siti javascript verranno scaricati in parallelo nello stesso momento in cui i download della libreria JQuery dal dominio googles ti danno quei preziosi millisecondi aggiuntivi :)

Inoltre, deleghi i costi della banda a Google. Dì 10000 visitatori unici colpiscono la tua pagina ogni giorno - questo è un minimo di ~ 30Mb. Un mese? ~ 878Mb. Un anno? ~ 313Gb.

+0

Cosa faremmo senza Google ... – greenimpala