Надеюсь, что кто-то может поделиться своим опытом с некоторыми из последних новых вариантов backbone.js. У меня есть хороший опыт работы с базой/подчеркиванием/требованием в нескольких проектах, и я хотел бы сделать следующий шаг к более продвинутым решениям для сложной структуры приложения.
Я знаю, что доступны следующие рамки:
- Marionette
- Geppetto (на основе Marionette)
- Chaplin, Чаплин - чаплин-шаблон
- Vertebrae
- LayoutManager
- Thorax
- Aura
- Luca
- Singool
- backstack
- Базовый интерфейс
-
BTW - отличная отправная точка для крупномасштабного проекта
И, вероятно, я пропустил несколько.
Существует краткое введение о различиях здесь:
но он очень общий. Мне было интересно, может ли кто-нибудь поделиться своим опытом с реальными приложениями, используя эти рамки.
В чем преимущество выбора одного над другим? Когда марионетка станет лучшим решением для чаплина или, например, лучше для некоторых приложений, например.
Конечно, очевидный ответ будет " использовать то, что лучше всего подходит для ваших нужд", но мне не хватает опыта работы с этими структурами, чтобы узнать их силу/цель/преимущества или предпочтительные сценарии.
Спасибо!
Изменить 1: нашел это сообщение: Backbone.Marionette vs Backbone-Boilerplate
Изменить 2: Ответа на этот вопрос Mathias schafer (Chaplin) по почте:
Короче говоря, текущая структура близка к версии 1.0, поскольку она уже используется в производстве. Не планировали добавлять новую новую функцию или изменять API до 1.0.
Marionette - это, несомненно, самая полная и стабильная библиотека. В нем рассматриваются несколько аспектов разработки JS-приложений с помощью Backbone. Например, он имеет сильный слой представления, который сама по себе оставляет полностью пустой. Конечно, вы обнаружите, что некоторые из аспектов не соответствуют вашим требованиям, и вы можете почувствовать необходимость в создании структуры вокруг Marionette.
Напротив, Чаплин фокусируется на довольно небольшом, но очень важном аспекте приложений Backbone, а именно на общей структуре приложения и жизненном цикле модуля. В связи с этим Чаплин очень опирается и больше похож на структуру, чем на библиотеку (например, "ваш код вызывает библиотеку, каркас вызывает ваш код" ). Чаплин предоставляет некоторые центральные классы, которые располагаются над отдельными модулями приложений и контролируют общее состояние приложения. Это дает вашему приложению обычную структуру, например Ruby on Rails.
В Chaplin вы объявляете некоторые маршруты, которые отображаются на контроллеры, а Чаплин запускает контроллер после согласования маршрута. Он также заботится об утилизации старых контроллеров, а также показывает и скрывает основные виды, которые должен создать контроллер. Это основная идея, но Чаплин заботится об уродливых деталях, чтобы сделать это плавным.
Есть два принципала, которые приходят вместе с этой структурой: - Модуляция, развязка и песочница - Межмодульная связь с использованием публикации/подписки и медиатора (ов)
Конечно, эти шаблоны не новы в мире разработки программного обеспечения, а Chaplin - не единственная библиотека, которая применяет их к приложениям Backbone.js.
Чаплин также предоставляет улучшения для слоя "Вид", например, очень сложный CollectionView, но в целом не так много, как Marionette с его областями и макетами. Но относительно легко писать такие мета-классы, используя средства Chaplin Views.