Одна из окончательной гипероптимизации, доступной через некоторые облачные сайты, на самом деле, использует меньшее число шире, таблицы ограниченной возможности для эффективности. До сих пор в будущем, если необходимо дико масштабироваться, это - один путь. Но это не рассмотрело желательную практику ни для какой реляционной DBMS (который это не).
, Если у Вас есть проблемы производительности, существует много вещей продолжить работать сначала перед любым отчасти денормализовывание.
Для сайта с низким трафиком можно использовать слой маршрутизации Django, но если вы планируете получать значительный объем трафика, вы можете подумать о том, чтобы ваш проксирующий веб-сервер обрабатывал заглушки.
Что касается остального, он работает, и сообщество TurboGears делает это годами (я был коммиттером TG, поэтому обычно использую это). Архитектура TG по возврату словаря в шаблон делает это тривиальным, поскольку вы просто устанавливаете json в качестве механизма шаблонов.
Сделать то же самое в Django не намного сложнее. Просто используйте инструменты сериализации , чтобы записать результат в ответ, а не использовать вызовы шаблонов.
Обратите внимание, что при такой архитектуре значительно легче управлять, если вы сохраните всю логику приложения в одном месте. Размещение некоторой логики приложения в Django и некоторой части в браузере приводит к тому, что вещи начинают довольно быстро запутываться. Если вы относитесь к своему серверу как к бессмысленному уровню постоянства (за исключением проверки / аутентификации / авторизации), жизнь станет проще.
FWIW, я считаю, что с Sproutcore легче работать, чем с Cappuccino, если вы заинтересованы в более тяжелых, не -прогрессивные рамки улучшения.