Привет всем. Планирую пилить проект на i-bem. Для него уже есть некоторые модели на backbone. Честно скажу, что о backbone слышал много хорошего но проекты не делал на нем. Кто в теме подскажите, насколько просто\сложно использовать backbone совместно с i-bem.js, что стоит учесть, как организовать связь...
i-bem.js
покрывает вью и контроллеры в терминахbackbone
, так что остаются модели и коллекции. Если брать из backbone только эти части, то теоретически должно сойтись, но я не пробовал..elem
и не использовать i-bem. Например, вот так. Очевидный плюс: не надо тащить два фреймворка на сайт. Очевидный минус: автоматическую инициализацию, которую вам дает i-bem, вы не получите.Если решите использовать и i-bem и Backbone сразу, помните о том, что, например, реализация событий в этих фреймворках немного отличается. Придется постоянно думать, когда хотите бросить или подписаться на событие, от чего отнаследован текущий класс. Таких моментов может быть много.
Спасибо за ответы. Планирую использовать только модели (Потому что они уже есть). Остальное от i-bem. Вот за события больше всего опасений. Нет смысла использовать модели, если не получится нормально работать с их событиями.
А зачем i-bem, если не секрет? Если проект начат на Backbone - почему не продолжить на нем, если времени на полный переход на i-bem нет?
Проект начат на i-bem. На backbone есть чужие наработки подходящие под текущие задачи.
Если уж переписывать, то, что скажете об bem-mvc? Вроде модели, но нет наследования, синхронизации с бэком, и зависимости от bem-bl, bem-controls напрягают... Не устарела ли либа?
У bem-mvc есть версия на bem-core в ветке
v2
, хотя она немного отстала отmaster
в плане фич. Если время терпит, мы можем попробовать их синхронизировать.@tadatuta Время терпит. Еще вопрос насколько эти модели расширяемы? Можно ли сделать базовую модель, и расширять? Смущает фраза в доке:
Сходу уверенно не отвечу, но вообще модели в
bem-mvc
наследуются от events.emitter — https://github.com/bem/bem-mvc/blob/v2/common.blocks/model/model.js#L14, так что не вижу причин, почему бы нельзя было продолжать цепочку наследования.@tadatuta Посмотрел - наследование есть. Не помнишь каких фич в
v2
не хватает?@kompolom нужно взять дату последнего коммита в v2 и изучить коммиты в master с этой даты. а для полного счастья нужно обновить зависимости, сборку и тесты. я вчера начал проделывать это упражнение со второго пункта, но простым обновлением package.json + bower.json + .enb/make.js не обошлось.