Ci sono diverse tecniche che possono essere utilizzati per rinviare analisi del codice JavaScript. La tecnica più semplice e preferito è semplicemente Rimanda caricamento di JavaScript finché è necessario. Una seconda tecnica è quella di utilizzare il <script asincrono> attributo se del caso, che impedisce l’analisi di bloccare il caricamento iniziale della pagina rinviando fino thread dell’interfaccia utente del browser non è occupato a fare qualcos’altro. Se nessuna di queste tecniche è adatto, ci sono alcune altre tecniche comunemente utilizzate nelle applicazioni mobili, di seguito descritti:
Quando la creazione di applicazioni mobili, può essere necessario caricare tutta la necessaria JavaScript da un’applicazione in anticipo, per cui l’applicazione può continuare a funzionare quando l’utente è collegato. In questo caso, alcune applicazioni, come Gmail per cellulari, trovano utile caricare JavaScript nei commenti e poi eval ()
JavaScript quando è necessario. Questo approccio garantisce che è caricato tutto JavaScript durante il caricamento della pagina iniziale, pur non richiedendo che Javascript per essere analizzato.
Un’alternativa alla memorizzazione del codice nei commenti è la memorizzazione codice in letterali stringa JavaScript. Quando si utilizza questa tecnica, il codice JavaScript viene analizzato solo quando necessario, di nuovo chiamando eval ()
sulla stringa letterale.Questa tecnica permette anche di caricare un’applicazione JavaScript precoce, ma rinviare l’analisi fino a quando è necessario.
Si noti che muovere le <script>
tag alla fine della pagina è sub-ottimale, dal momento che il browser continuerà a mostrare un indicatore di occupato fino a quando la pagina ha terminato l’analisi di questo JavaScript. Gli utenti possono attendere finché l’indicatore di caricamento della pagina indica che il caricamento della pagina è completo prima di interagire con la pagina, quindi è importante caricare JavaScript in modo da minimizzare il tempo necessario per il browser per indicare che il caricamento della pagina è completo.
Nei nostri test condotti nei primi mesi del 2011, abbiamo scoperto che su dispositivi mobili moderni, ogni kilobyte supplementare di JavaScript aggiunge circa 1 ms di tempo di analisi per il tempo complessivo di caricamento della pagina. Così 100kB di JavaScript incluso nel caricamento iniziale della pagina aggiungerebbe 100ms di tempo di caricamento per gli utenti. Poiché JavaScript deve essere analizzato in ogni visita a una pagina, questa volta carico aggiuntivo sarà parte di ogni caricamento della pagina, sia caricato dalla rete, tramite la cache del browser, o in modalità offline HTML5.