2011-08-24 15 views
58

Ci scusiamo per il fatto che la domanda sia così soggettiva.best practice javascript per gli sviluppatori di asp.net mvc

Sto cercando alcuni esempi pratici di come gestire javascript meglio nelle applicazioni mvc asp.net.

Prima di jQuery ho cercato di evitare l'uso di javascript il più possibile. Ora lo sto usando parecchio, ma sento di aver perso alcune delle migliori pratiche/raccomandazioni per strutturare il mio codice javascript in applicazioni web più grandi.

Alcune cose che sono colpevole di e desidera spostare lontano da:

  1. Inline javascript nel mio punto di vista. Non sto parlando di masse di codice, ma non è raro che io abbia un codice di inizializzazione su ogni vista.
  2. Un grande file javascript "sito". Mano a mano che cresce l'elenco dei plug-in utilizzati nella mia applicazione (ad esempio jquery ui), anche la mia funzione di "avvio" che sta inizializzando ogni plugin. Spesso questo è per evitare il problema 1 (aggiungendo javascript in linea). Forse un file javascript per visualizzazione è una soluzione migliore?
  3. Tutto sembra molto procedurale. Sono abituato a lavorare in un modo orientato agli oggetti in .net, ma quando si tratta di javascript questo sembra uscire dalla finestra. Ora so che OOP è certamente possibile, e incoraggiato con javascript, ma potrei fare con alcuni esempi pratici di come dovrei farlo nel contesto di una vera applicazione web.
  4. Struttura dei nomi/struttura del progetto - Ho visto alcuni esempi di javascript namespacing (in virtù degli oggetti) e mi piace l'approccio, ma ancora una volta potrei fare con un po 'di conoscenza di base.

Qualsiasi sito, libro ecc. Che le persone possano raccomandare sarebbe apprezzato.

+16

@jfar - non sono sicuro del motivo per cui ciò giustifica un downvote, soprattutto perché sto chiedendo maggiori informazioni sulle alternative. –

+3

+1. Penso che questa domanda potrebbe essere correlata da molti sviluppatori, esp. qualcuno che ha appena iniziato su MVC, come ad esempio I. –

+7

@jfar - Voto superiore al downvote per preoccuparsi di scrivere perché, anche se non sono d'accordo con il perché. Lo odio quando le persone eseguono il downvote in modo anonimo. –

risposta

2
+0

Mi piace. L'unica cosa è che la strategia cadrà se uno sta usando le rotte di custome. Un modo per aggirare sarebbe utilizzare il text-template per generare sia i percorsi che il bootstrap di JavaScript collegando i controller alle strategie. L'idea è di non ripeterti. –

0

Per me, librerie come KnockoutJS hanno aiutato molto per organizzare il mio codice JS, è davvero potente, ho usato per più progetti e ha ha funzionato davvero bene (Sono anche uno sviluppatore di asp.net mvc ma questo vale anche per altre tecnologie, inoltre, il ragazzo che l'ha inventata ha molta esperienza con aspnet mvc)

9

Ho pensato di buttare i miei 2 centesimi.

  1. Best practice consiglia di non utilizzare JScript in vista, e questo ho trovato potrebbe essere evitato utilizzando aiutanti HTML che contiene JScript o spingono JScript in file JS e inizializzare nel vostro aiutante HTML. Questo è ciò che usi dev di controllo MVC di terze parti (ad esempio Telerik). Se decidi di spingere il JScript nel tuo controller, scoprirai che diventa piuttosto veloce.

  2. Spesso mi trovo nello stesso scenario in cui ho un file JS per ogni vista, ma questo può essere consolidato per avere un JS per modulo. Questo di nuovo dipende dalla complessità del tuo codice.Se scopri che molte visualizzazioni hanno la stessa inizializzazione, allora puoi andare giù per l'approccio di visualizzazione di base. Anche questa è considerata la migliore pratica.

  3. Troverete che JScript is quite OO e si tratta di come JScript utilizza JSON. Trovo che la flessibilità di JScript induca a sembrare che si allontani da OOP. La mia esperienza limitata con JScript è di mantenerla breve e concisa e questo rafforzerà i JScript di nuovo utilizzo.

  4. Penso che questo possa essere superato con la pratica in JScript. Il problema più grande che trovo qui non è con il nome-spaziatura, ma come evitare la duplicazione/doppio caricamento di JScripts. Se le viste devono essere "autosufficienti", in teoria dovrebbero caricare i propri JScript, ma ciò causerà il caricamento multiplo di JScripts o addirittura la creazione di conflitti. Ancora una volta, un buon helper HTML può salvarti qui (aplogies, non ho un buon esempio, ma Google e non puoi sbagliare).

Nel complesso, JScript è molto potente e apre la programmazione Web a un livello completamente nuovo. JScript diventerà sempre più parte della piattaforma web, specialmente quando tutti si trasferiscono in HTML 5. Con MVC e JSript, ci sono 100 modi diversi per fare esattamente la stessa cosa e le migliori pratiche possono solo portarti a termine. Il resto spetta a te decidere in base a ciò che stai cercando di raggiungere, a chi sono i tuoi destinatari e a quali browser stai supportando.

Problemi correlati