2011-09-21 21 views
18

Ho programmato in PHP e C# per molto tempo, ma ho fatto pochissimo Javascript. Per la programmazione lato server, utilizzo MVC, che è molto bello e il mio codice è organizzato in modo ordinato.Modello di programmazione Javascript per organizzare applicazioni Web

Ora, per Javascript, quando scrivo codice, di solito rovino tutto. Diventa qualcosa come il codice degli spaghetti. Non so come organizzare il mio codice.

Qualcuno può aiutarmi con qualsiasi risorsa, libro o qualsiasi altra cosa che possa aiutare nello scrivere codice Javascript ordinato e ordinato?

Grazie in anticipo.

+0

suggerimento per il javascript newbie provenienti da PHP e C# - javascript ha scope di funzioni, non scope di parentesi graffe. –

+0

http://programmers.stackexchange.com/ è probabilmente un posto migliore per questa domanda. Non c'è una risposta * corretta *. – user113716

risposta

6

si parla che siete stati programmando in PHP e C# per un lungo periodo. Porta la tua esperienza nell'organizzazione del codice e applicala al tuo javascript.

Coppia di quadri

strumenti chiusura di Google -

http://code.google.com/closure/

Se Google lo usa per organizzare Gmail e Google Docs, quindi dovrebbe funzionare per la maggior parte grandi applicazioni.

Inoltre, Yahoo! YUI è buona -

http://developer.yahoo.com/yui/

http://yuilibrary.com/

E backbone.js (non come "grande" come Google o Yahoo) -

http://documentcloud.github.com/backbone/

https://github.com/documentcloud/backbone

Libro decente

Per me, scrivere javascript unit test mi aiuta a rimanere organizzato -

Test-Driven Development JavaScript

http://www.amazon.com/Test-Driven-JavaScript-Development-Developers-Library/dp/0321683919/

+0

Gli strumenti di chiusura di Google presentano alcuni errori e in determinate condizioni vengono inseriti errori nel codice. – Bakudan

+0

@Bakudan - assolutamente (anche se non li chiamerei errori). The Closure docs e "Closure: The Definitive Guide" fanno un buon lavoro spiegando alcuni problemi - http://www.amazon.com/Closure-Definitive-Guide-Michael-Bolin/dp/1449381871/ –

+0

Ho lavorato su backbone poiché @KrisKrause ha pubblicato questa risposta. Devo dire che è davvero eccezionale e aiuta a organizzare il codice in modo molto preciso. Grazie. –

1

Ecco un eccellente punto di riferimento. A volte è difficile evitare gli spaghetti in Javascript. Ricorda inoltre che Javascript NON supporta il polimorfismo.

http://dev.opera.com/articles/view/javascript-best-practices/

+0

Supporta il polimorfismo – Raynos

+0

Non è un brutto articolo, ma ci sono molti punti di discussione. – vol7ron

+0

Non supporta i metodi veramente polimorfici. Questo mi ha ucciso un giorno scrivendo un'app con due metodi con diverse firme di input. Essendo un programmatore Java di vecchia data, non mi è venuto in mente fino a quando non ho fatto un debug interattivo proprio esattamente su cosa stava succedendo. http://javascript.about.com/library/blpolyfunc.htm – Alexx

2

Non sono sicuro se un suggerimento libreria è quello che stai dopo, ma abbiamo iniziato usando Mootools come nostra libreria js di base. Il sistema Mootools' Class è sorprendente per la creazione di una gerarchia di classi.Ha aiutato immensamente la nostra squadra a mantenere tutto il nostro codice organizzato.

Se stai cercando soluzioni orientate agli oggetti più semplici e hai bisogno di ereditarietà ci sono molte, molte librerie che offrono questo. Due dei miei preferiti sono klass e selfish.js.

3

Scrivi codice modulare. Non è molto difficile.

Personalmente vi consiglio di scrivere moltissimi moduli e utilizzare un processo di costruzione e un gestore di pacchetti per aggiungerli in uno solo.

Io uso browserify per quello.

// DOM-utils.js 

module.exports = { 
    // util methods 
} 

// some-UI-Widget.js 
var utils = require("DOM-utils"), 
    jQuery = require("jQuery"); 

// do ui logic 

module.exports = someWidget 

vorrei andare oltre e consigliamo di usare una mediator pattern (vedi mediator) per mantenere tutto il vostro codice indefinito.

Vai a questa example application

1

Alex MacCaw ha scritto un libro appena uscito, JavaScript Web Applications che copre alcuni dei framework JavaScript disponibili. MacCaw è il creatore di Spine, un altro framework MVC JavaScript (come backbone.js). Ci sono tutorial sul sito Spine che spiegano come usarlo. Inoltre, se sei interessato a backbone.js, lo Peepcode ha attualmente due screencast (non gratuiti) che coprono l'utilizzo.

Problemi correlati