Visualizza sorgente: il markup visibile è importante per te?

3

Ho appena letto un post del blog molto interessante da Scott Hanselman dove ha citato il collega Erik Meijer come segue:

JavaScript is an assembly language. The JavaScript + HTML generate is like a .NET assembly. The browser can execute it, but no human should really care what’s there. - Erik Meijer

Egli continua a fornire esempi di come alcuni dei siti più grandi di oggi (quello che mostra è da Google+, ma cita anche Bing, Facebook, ecc.) producono siti in cui quando si fa un "View Source", si vedere un sacco di "javascript minisito". Essenzialmente, illeggibile in superficie.

In poche parole, non puoi entrare in un sito e guardare la loro fonte e vedere una versione abbastanza formattata del markup. La mia domanda per te è simile a quello che chiede Hanselman: è così importante per te? Se funziona, è abbastanza buono? A mio avviso, SÌ, i risultati sono ciò che conta - Google ne è un esempio. Ma devo ammettere che, come sviluppatore, è bello avere la capacità, di tanto in tanto, di guardare la fonte e ottenere idee ed esempi dai siti che ammiro.

I tuoi pensieri? ...

    
posta Catchops 07.07.2011 - 17:13
fonte

5 risposte

13

Bene, il motivo della minificazione non è l'offuscamento, ma piuttosto la riduzione del consumo di larghezza di banda.

Per quanto riguarda il codice sorgente è importante essere leggibili in modo che possa essere mantenuto. Per quanto riguarda l'output del client, la funzionalità è più importante. Non mi interessa se riescono a leggere la mia fonte di visualizzazione, se possono usare il mio sito e sembra come dovrebbe, quindi il mio obiettivo è stato raggiunto. Ma è importante che qualcuno possa venire dopo di me e aggiornare la mia fonte senza dover chiamare me e farmi spiegare cosa ho fatto e perché. Quindi cerco di mantenere questo semplice e ben ordinato.

Il codice che voglio nascondere è fatto lato server. Non esco dal mio modo di oscurare il mio JavaScript o View Source. Inoltre, non cerco di renderlo carino per loro poiché il risultato reso è il mio obiettivo.

- E JavaScript non è linguaggio assembly. Non riesco a pensare a nessuna analogia che lo renderebbe possibile. Il fatto che qualcuno rispettato cercherebbe di argomentare che mi fa perdere rispetto per loro. JavaScript è un linguaggio interpretato che richiede un interprete e un motore per inviarlo all'hardware. Assembly è un linguaggio di basso livello che viene eseguito in modo nativo dall'hardware.

    
risposta data 07.07.2011 - 17:23
fonte
0

Secondo me:

  • Se l'utente vuole sapere cosa contiene il codice, può leggerlo / formattarlo in jsfiddle ad esempio
  • I siti più grandi riducono i loro codici per ridurre il traffico!
  • Non devi minimizzare il tuo codice js ogni volta che vuoi aggiungere nuovi contenuti
  • Non vedo alcun motivo per cui dovresti ridurre il codice se non ti interessa il traffico / la velocità di caricamento
risposta data 07.07.2011 - 17:23
fonte
0

Man mano che aumenta l'uso di JavaScript e aumenta la dimensione degli script, è necessaria la compressione. Qualsiasi quantità significativa di JavaScript deve essere minimizzata (o compressa, o qualunque termine o tecnica sia utilizzata).

Detto questo, la visualizzazione della fonte JavaScript è spesso una parte importante del processo di apprendimento. So che è stato per me quando ho iniziato. La minimizzazione di JavaScript, ovviamente, lo impedisce (nella maggior parte dei casi).

Tuttavia, poiché in genere sono grandi quantità di JavaScript che vengono ridotte, l'effetto viene ridotto. Questo perché gli script grandi e complessi saranno più difficili da leggere anche quando non compressi , e quindi non saranno comunque utili ai principianti.

Come sviluppatore JS abbastanza avanzato, ho trovato che JS Beautifier è spesso sufficiente per ripulire il codice sorgente in modo che sia più comprensibile. Questo è utile per capire come funzionano gli script, anche se i nomi delle variabili rimangono oscurati fino a una o due lettere. Chrome, ho scoperto di recente, ha uno strumento simile integrato: basta fare clic con il pulsante destro del mouse sul visualizzatore di origine e scegliere di non offuscare.

TLDR: La lettura degli script può essere utile per tutti i livelli del codificatore e gli script più complessi (e quindi più utili per i codificatori avanzati, piuttosto che per i principianti) sono quelli che verranno minimizzati, quindi di solito c'è poco problema .

    
risposta data 07.07.2011 - 17:31
fonte
0

Ci sono soluzioni:

  1. Chrome supporta la predizione dei sorgenti javascript nell'ispettore. Sono sicuro che gli altri browser hanno abilità simili. link

  2. Chrome supporta anche "mappe sorgente". Questi alla fine faranno in modo che nel debugger sia possibile visualizzare le fonti originali, mentre ciò che il tuo browser sta eseguendo è cross-compilato e minimizzato. link

Quindi penso che sia un problema temporaneo che verrà risolto quando IDE e minifiers inizieranno automaticamente a generare mappe sorgente in tutti i casi. Quindi sarà una decisione consapevole dello sviluppatore di non caricare la mappa sorgente. L'origine della vista sarà di nuovo predefinita.

    
risposta data 17.07.2012 - 14:21
fonte
-1

Visualizza la fonte è utile solo per due cose.

  1. Permettere a uno sviluppatore di eseguire il debug di alcuni problemi.
  2. Permetti ai tipi più santi di esprimere un giudizio su un sito casuale.

La possibilità di visualizzare l'origine di una pagina è in realtà solo una reliquia di una volta, non costa sostanzialmente nulla per i browser che la supportano e probabilmente sarebbe più utile eliminarla, quindi rimane.

    
risposta data 16.07.2012 - 23:28
fonte

Leggi altre domande sui tag