2014-04-05 11 views
11

Il codice è limitato, ma riformattato è composto da poche centinaia di righe di codice. Immagino che una pagina così minimale abbia anche un codice minimo. Che cosa sta facendo Google che la fonte è così lunga? Riesco a vedere che molto è javascript, ma avevo l'impressione che inline tanto javascript fosse una cattiva pratica.Se la home page di Google è così minimale, perché la fonte è centinaia di righe di codice?

+1

penso che questa sia una buona domanda. e non dovrebbe essere chiuso. –

risposta

8

Almeno una porzione di tale codice viene utilizzata per i callback ajax per Ricerca istantanea.

Inoltre, quando si considera se l'inlining di Javascript è negativo, si dovrebbe pensare all'alternativa. Se il codice fosse in un file separato, sarebbe un'altra richiesta http, il che significa che la pagina verrebbe caricata con una maggiore latenza.

1

Penso che questo sia un principio della separazione dell'interfaccia e dell'implementazione: l'utente vede l'interfaccia e non ha bisogno di preoccuparsi di cosa sia l'implementazione - quanto sia semplice o complicato, e in che modo, a patto che l'implementazione fa il lavoro di ciò che l'interfaccia dovrebbe fornire.

Prendi l'esempio di un orologio. Quando guardi il tuo orologio, non pensi affatto all'implementazione. Tutto quello che ti interessa è che puoi dire l'ora ogni ora e la lancetta dei minuti, e che puoi passare a una modalità di cronometro e il pulsante A può avviarlo e il pulsante B può resettarlo - se è in grado di fornire la funzionalità di una fermata orologio. L'interfaccia può essere molto semplice e, a volte, il più semplice possibile. L'implementazione può essere complicata ... come se avesse circuiti per sincronizzarsi con il segnale di controllo atomico in varie regioni del mondo, usando milioni di transistor per fare bene il lavoro - ma l'utente di solito non si preoccuperebbe di cosa l'implementazione è. A tutti gli utenti può interessare un'interfaccia dell'orologio semplice da capire: guardare il quadrante dell'orologio e in un batter d'occhio, essere in grado di dire che ore sono.

Per quanto riguarda il motivo per cui il codice può essere così grande, oltre al meccanismo di autosuggestione, che include un meccanismo di limitazione in modo che non tutte le sequenze di tasti causino una richiesta al server di Google, ci sono anche le condivisioni Google+ che ha Foto, Link , Video, eventi, ognuno con una gestione diversa. Quindi, anche se la pagina può essere semplice e pulita, ciò che la pagina può fornire è molto di più.

2

Il codice JavaScript non è probabilmente inlineato nella loro fonte non generata. Tale potrebbe essere una cattiva pratica. Integrandolo nel sorgente della pagina una volta creato, la pagina non dovrà fare richieste HTTP aggiuntive per scaricare un file di risorse separato, poiché le richieste HTTP sono una delle parti più lente del caricamento di una pagina web.

L'enorme quantità di JS è, a mio avviso, probabilmente a causa di molte librerie comuni e del codice condiviso tra molte delle loro pagine, e il tentativo di non caricarlo sulla loro home page finirebbe per coinvolgere un sacco di inutili e brutte soluzioni alternative nel loro codice. Inoltre, l'interfaccia utente può sembrare semplice, ma quanto sta realmente accadendo sotto il cofano? Ci sono account Google di cui preoccuparsi, ricerca istantanea e vocale da fare, tracciamento delle statistiche, ecc.

Alla fine, tuttavia, probabilmente non lo saprai veramente a meno che tu non abbia un ingegnere di Google a divulgare i loro segreti, o ottenere un lavoro con loro.

Problemi correlati