Problemi da considerare durante il caricamento di jQuery?

6
  1. Ho visto molte risposte in SO riguardo all'uso della CDN di Google per caricare jQuery invece di
    caricandolo dal server locale. In sostanza, capisco che questo è il problema relativo alla latenza ridotta, al caching migliore. Ma voglio sapere la risposta tecnica, forse un esempio che menziona perché è anche un problema caricare solo un file da 30KB. Al giorno d'oggi vediamo siti Web con ricche funzionalità multimediali che scaricano in modo significativo dal server, quindi in questo modo le dimensioni di questo file fanno la differenza?

  2. Ci sono anche grosse preoccupazioni riguardo all'utilizzo di tale libreria "pesante" se tutto ciò che si sta utilizzando è solo una frazione del sottoinsieme di funzionalità? E se hai intenzione di usarlo, si consiglia di utilizzare la versione compressa (30+ KB) anziché quella non compressa (200+ KB)? Conosco anche le solite risposte ad esso, forse se qualcuno può dare più informazioni su di esso?

Le mie due domande sopra menzionate stanno essenzialmente cercando di sollevare lo stesso problema. Sarei molto grato per le risposte che possono fornire la prospettiva ad esso piuttosto che le solite risposte in SO?

    
posta SASM 28.04.2013 - 14:37
fonte

4 risposte

5

Come sai, si tratta di prestazioni!

Se lavori su un progetto di grandi dimensioni, che copre i moderni concetti dell'interfaccia utente, forse avrai un sacco di diverse librerie JavaScript ospitate sul tuo server. Come forse saprai, i browser sono limitati al massimo di pochi (vedi la colonna "connessioni per hostname") richieste HTTP a specifiche host.

Supponiamo che tu abbia un sito che ha bisogno di caricare molte librerie JavaScript e, se sono miniate, sono tra 20-50 KB ciascuna.

Quindi, semplicemente matematica: 10 librerie * 40 KB = 400 KB!

Ed è molto importante tenere presente che:

  • L'accesso a una particolare risorsa (immagine, foglio di stile, ecc.) è separato Richiesta HTTP
  • Ci sono ancora persone che non hanno internet molto buono connessione o sono collegati a reti WiFi pubbliche che sono usato da molte persone.

Quindi penso che in questo caso l'uso di CDN (non solo per jQuery e quando è possibile) abbia senso perché:

  • Aumenta il download parallelo superando la limitazione dei browser.

  • Dato che CDN è utilizzato da molti siti oggi, ce n'è davvero uno grande possibilità di avere già la versione cache della risorsa.

  • Assicura che l'utente ottenga una risposta geograficamente vicina.

E questo punto è valido sia per le tue domande:

  • Riduce la quantità di larghezza di banda utilizzata dal tuo server (a volte può essere un problema)

Ma c'è qualcosa di molto importante, che viene ignorato da molti sviluppatori. Stanno usando CDN per ottenere l'ultima versione di una libreria, che è completamente sbagliato! Quando viene rilasciata una nuova versione, sebbene nella maggior parte dei casi venga aggiunta una nuova funzionalità, ci sono casi in cui la funzionalità esistente può essere rimossa (ad esempio la funzione diventa deprecata) o modificata!

Quindi, è una buona pratica sempre impostare una versione specifica della risorsa necessaria quando si utilizza la CDN.

    
risposta data 28.04.2013 - 18:32
fonte
1

Come sai, è tutto sulla semplicità!

Non importa se stai creando un'applicazione Web su larga scala che verrà utilizzata da migliaia di utenti ogni secondo o da un piccolo sito Web utilizzato da te e forse da alcuni dei tuoi amici:

  • Puoi:

    1. Vai al sito Web di JQuery.
    2. Verifica di avere già la versione più recente.
    3. In caso contrario, scaricalo.
    4. Copia nella directory di sviluppo.
    5. Forse imposta le autorizzazioni e gli attributi relativi alla distribuzione.
    6. Aggiungi il link al file nella tua pagina principale.
    7. Verifica che funzioni.
  • O puoi:

    1. Aggiungi il link al file JQuery della CDN nella tua pagina principale.
    2. Verifica che funzioni.

L'uso di CDN è solo più facile e veloce, senza nemmeno considerare un eventuale impatto sulle prestazioni ipotetico. Aggiungi un collegamento e funziona. Semplice come quello.

Quali problemi devi considerare? L'unico che so è che se devi supportare sia HTTP che HTTPS, i link sono strani e sembrano così: <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script> (nota il prefisso mancante). Sembra che stia causando problemi con alcuni browser molto vecchi e molto schifosi. Se devi garantire il supporto per ogni browser creato dal 1990, assicurati di cercare un po 'di più su questo problema prima di utilizzare il CDN per JQuery.

    
risposta data 28.04.2013 - 19:14
fonte
1

Oltre ai punti citati, riduce anche il carico sul server web, specialmente se non si dispone di un proxy, quindi anche i file statici vengono consegnati tramite Apache o qualsiasi altro server Web di carico pesante.

Che accelera ancora le prestazioni del tuo sito web, anche per gli altri utenti.

    
risposta data 28.04.2013 - 19:24
fonte
1

E un altro punto!

Come mostrato in alcuni discorsi sulle prestazioni di Javascript, molti browser smetteranno di caricare qualsiasi cosa mentre caricano ed eseguono un file Javascript - in sostanza, non possono essere sicuri che questo script cambierà il vengono caricati gli oggetti futuri, o in particolare il modo in cui vengono eseguiti gli script futuri. Pertanto, mentre è possibile scaricare diverse immagini contemporaneamente, i file di script tendono a bloccare l'esecuzione, pertanto il loro tempo di caricamento è particolarmente importante. (Nota questo non è il caso quando viene specificato il tag HTML più recente async )

    
risposta data 24.05.2013 - 20:10
fonte

Leggi altre domande sui tag