Как следует структурировать сложное одностраничное веб-приложение JS на стороне клиента? В частности, мне любопытно, как правильно структурировать приложение с точки зрения его объектов модели, компонентов пользовательского интерфейса, любых контроллеров и объектов, обрабатывающих стойкость сервера.
MVC сначала казался подходящим. Но с компонентами пользовательского интерфейса, расположенными на разных глубинах (каждый из которых имеет свой собственный способ действия/реагирования на данные модели и каждый генерирующий события, которые они сами могут или не могут обрабатывать напрямую), похоже, что MVC может быть применен чисто. (Но, пожалуйста, поправьте меня, если это не так.)
-
(Этот вопрос привел к двум предложениям об использовании ajax, что, очевидно, необходимо для чего-то другого, кроме самого тривиального одностраничного приложения.)