Подтвердить что ты не робот

Является ли Backbone.js только для одностраничных приложений?

Я ищу простую архитектуру для моего пользовательского интерфейса, которая будет иметь некоторые базовые функции javascript: выберите все флажки, обрезку изображения, некоторые всплывающие окна и некоторые другие плагины.

Я нашел эту статью: Организация приложения Backbone.js с модулями

Мое приложение не является SPA (одностраничное приложение). Я хочу знать, поможет ли Backbone.js с jQuery, даже если мое приложение не является SPA.

4b9b3361

Ответ 1

Сила магистрали - это действительно способность управлять многими моделями (даже сложными) и поддерживать отображаемую страницу в синхронизации с их текущими значениями. Он обеспечивает интерфейс для функций getter/setter, так что изменение значения модели (есть много разных вариантов "изменения" ) вызовет рендеринг на соответствующем представлении, и страница будет правильно отражать основные модели. Кроме того, он предоставляет интерфейсы для сохранения, пейджинга и маршрутизации на моделях.

Я использовал Backbone широко для SPA (там, где он блистает), а также более традиционных приложений с несколькими страницами. Он не имеет специальной поддержки для манипулирования пользовательским интерфейсом и DOM, но в сочетании с jQuery/Prototype/Zepto он управляет их рендерингом/манипуляцией.

В основном, позвоночник работает лучше всего, чтобы распутать сложные цепи визуализации и обновления модели. Если вы чувствуете, что в вашем приложении много элементов вида, которые необходимо синхронизировать с моделями, которые клиент будет обновлять на странице, Backbone - прекрасное решение. Если вам просто нужно выбрать и управлять элементами DOM, это будет излишним. Только jQuery может справиться с этим.

Ответ 2

Магистраль действительно не о том, что вы упомянули, но я бы не сказал, что это строго для однопользовательских приложений (SPA). Я бы сказал, что это для любого случая, когда у вас довольно сложные страницы, и вам будет полезно разбить их на несколько частей (например, несколько просмотров, которые извлекают данные из одной модели).

Однако я бы сказал, что сила Backbone.js находится в области SPA.

Возможно, вы найдете некоторые части jQuery, которые отвечают на некоторые ваши потребности, если вы еще не используете jQuery как часть своего приложения. Однако jQuery - это все части, о которых вы упомянули (легкая манипуляция DOM, всплывающие окна, если вы используете пользовательский интерфейс jQuery и т.д.), А не о структуре или организации.

Ответ 3

Я считаю, что основная идея магистрали - организовать вам JS-код в сложном приложении с использованием концепции MVC. Таким образом, ваше приложение станет проще в использовании и добавит новые функции. Это упростит использование таких тестов, как жасмин.

Массив также позволяет (и очень хорошо) работать на основе подхода SPA, используя запрос ajax на сервер. Он полностью основан на концепции Restful, чтобы получить код с использованием магистрали, важно понять, что такое Restful.

В базовом режиме есть маршрутизатор (который может работать как контроллер, но не является контроллером).

Модель, где вы можете управлять всей логикой данных вашего приложения. Коллекция, которая похожа на список моделей. Посмотрите, где именно вы будете реагировать соответственно на изменение модели.

Есть и другие вещи, но в основном это.

Но, как я уже говорил, вы можете использовать его без SPA.

Самое главное иметь в виду, что при использовании магистральной системы следует следовать концепции MVC. Если вы этого не сделаете, он не имеет смысла использовать магистраль.