Il mio JavaScript ha un aspetto grandioso in questo?

5

Come programmatori, hai alcune tende da nascondere dietro con il tuo codice. Con PHP tutto il tuo codice è preelaborato lato server, quindi questo non vede mai la luce del giorno per quanto riguarda l'utente. Se hai probabilmente passato del codice per una scadenza, purché funzioni correttamente, l'utente non ha mai bisogno di sapere quante imprecisioni hai inserito nei commenti. Tuttavia, con sempre più applicazioni scritte per il web, con una sensazione di desktop implementata da AJAX e framework popolari come jQuery che viene associato a tutti i Tom, Dick e Harry, come può un programmatore mantenere una certa dignità e nascondere il proprio codice JavaScript senza essere sfoggiato come un bucato sporco quando gli utenti colpiscono Right Click- > Visualizza sorgente o Ispeziona elemento. Esistono modi per nascondere la logica / codice dell'applicazione JavaScript?

    
posta benhowdle89 31.01.2011 - 11:03
fonte

6 risposte

10

Non penso che nascondere il tuo javascript per il motivo di nascondere il tuo casino sia una buona cosa. Dovresti ripulire il tuo casino e se altre persone ti possono aiutare, è una buona cosa.

Tuttavia, " Non invadente JavaScript " attualmente sta ottenendo sempre più accettazione. E "JavaScript non intrusivo" nasconderà molti dettagli, ma per buoni motivi:

  • Separazione della funzionalità (il "livello di comportamento") dalla struttura / contenuto e presentazione di una pagina Web
  • Best practice per evitare i problemi della programmazione JavaScript tradizionale (come le incoerenze del browser e la mancanza di scalabilità)
  • Miglioramento progressivo per supportare i programmi utente che potrebbero non supportare la funzionalità JavaScript avanzata

Trovo questa presentazione che sia bella per avere un'idea e iniziare.

    
risposta data 31.01.2011 - 11:46
fonte
5

La minimizzazione è un tuo amico (ti consiglio il Closure Compiler di Google: link ). Questo sarà:

  • rimuovi lo spazio bianco
  • rimuovi commenti
  • riduci i nomi delle variabili
  • arriva persino a fare semplici analisi e rimozione del codice morto

Ovviamente, il tuo approccio migliore è assicurarti di scrivere il codice di buona qualità possibile in primo luogo!

    
risposta data 31.01.2011 - 13:17
fonte
4

No

JavaScript è presentato lato client insieme a HTML e CSS. È completamente visibile dal cliente. Indipendentemente da quanto comprimi e riduci al minimo, sarà sempre visibile. Con strumenti come Firebug e Firequery l'ispezione degli hook di JavaScript è ancora più semplice. Non consiglierei di investire tempo per nascondere JavaScript.

    
risposta data 31.01.2011 - 15:08
fonte
1

Vado a vedere questo da un altro punto di vista. Invece di cercare di nascondere il bucato sporco, forse dovremmo prenderci il tempo per assicurarci che ciò che spingiamo ai nostri utenti sia il più pulito possibile.

Come hai detto, JavaScript viene eseguito nei browser dei nostri clienti. Questo codice non viene analizzato e passato a loro dai nostri server, è qualcosa che viene eseguito direttamente sul loro computer e potrebbe potenzialmente causare loro alcuni problemi. Gli utenti hanno la possibilità di dire 'no non voglio eseguire JS, b / c non mi fido di esso'.

Cercando di nasconderlo e assicurarsi che l'utente non lo veda mai, in che modo mostriamo loro che possono fidarsi del nostro codice? Come possiamo dimostrare che ciò che stiamo chiedendo loro di eseguire non è malizioso?

Mentre AJAX e jQuery diventano sempre più popolari, sento che stiamo esaurendo le scuse per avere un bucato sporco. Queste librerie rendono piacevole e facile fornire un'esperienza utente più avanzata. Prendendo del tempo, puoi scrivere codice molto pulito che fa cose molto potenti.

Alla fine della giornata se sei imbarazzato riguardo alcune funzioni JavaScript che stai passando, quindi puliscile. Prendersi del tempo per nasconderlo è uno spreco b / c se la gente vuole davvero vederlo, verrà fatto un add-on per consentirglielo.

    
risposta data 31.01.2011 - 16:35
fonte
1

Colloca il tuo JS in file separati ove possibile. Anche se non sarai in grado di impedire agli utenti che desiderano veramente vederlo di vederlo, impedirai agli utenti occasionali di vedere la maggior parte del codice quando "visualizzano l'origine della pagina".

Naturalmente, la maggior parte degli utenti non è in grado di distinguere il buon JS dal greco antico.

    
risposta data 31.01.2011 - 20:43
fonte
0

A volte un sacco di codice lato client può essere spostato sul lato server, a seconda di cosa stai facendo. Questo è spesso il caso in cui è necessario nascondere qualcosa, in genere non si desidera l'accesso al database nel codice JavaScript, ad esempio. Naturalmente se il tuo server è già in difficoltà, potresti voler scaricare più lavoro sul client, non meno, ma in alcuni casi può funzionare.

    
risposta data 31.01.2011 - 18:07
fonte

Leggi altre domande sui tag