Backbone дает самую минимальную основу для создания Single Page.
Предлагаю взять
backbone.layoutmanager. Это обертка над backbone view и умеющая при правильной настройки сама подтягивать шаблоны, кешировать их и рендрить в нужное место.
Template-rendering пример настроект как запрашивать шаблон. С такими настройками во view можно писать
template: "main.html"
и он запросить этот шаблон по пути
"/templates/main.html"
Nested-views пример как можно заменить одну View на другую, использую у родительской метод
setView( "#content", new NewView() )
То есть архитектура приложения в backbone должна выглядеть так:
При загрузке страницы у нас есть основной элемент, который не меняется, его мы указываем у нашей главной родительской view в поле
el: "#main"
, после этого инициализируем backbone-router и ловим callback от какого нибудь роута, вызываем у главной view метод
setView
и передаем туда новую дочернюю view. То же самое происходит при клике на ссылку, отрабатывает роутер и в callback-е вставляется новая view.
Как сделать слайд как на ios. Думаю имея контроль над старой view(у родительской есть метод
getView
) и перед вставкой новой(
setView
), мы можем добавить старой какой нибудь класс с анимацией, что бы она улетала в какую нибудь сторону, а после вставить новую view.