Hat man eine gewachsene, große Webanwendung die auf JavaScript (JS) baut, oder in der JS ein erheblicher Teil ist und entwickelt dabei auf herkömmliche Art und Weise, steht man früher oder später vor Problemen:
Eine Masse an schwer überblickbaren einzelnen Funktionen, callbacks, DOM-Manipulationen usw. die stumpf aneinander gereiht werden.
Das Phänomen ist auch unter dem Begriff "Spaghetti-Code" bekannt. Um dem entgegenzuwirken, kann man auf bewährte Muster setzen: MVC
An dieser Stelle würde sich dann die Frage stellen, ob man eine solche Architektur selber nachbildet, oder bereits vorhandene Frameorks nutzt. Soll es letzteres sein, bieten sich z. B. Backbone.js und Spine an. Backbone.js eignet sich für große Projekte, während Spine eher schlanker und etwas kompakter ist. An Spine ist u. a. nützlich, dass es auch in einer mobilen Variante verfügbar ist. Zudem gibt es eine Reihe nützlicher Tutorials und Beispielanwendungen. Zu Backbone.js gibts auf vimeo ein tolles Video Tutorial.