Ответы пользователя по тегу Backbone.js
  • Какой JS Фреймворк использовать?

    @movetz
    Ох, это тема для бесконечного и мучительного холивара. Однозначно я бы заместо Backbone.js добавил в сравнение Marionette или Chaplin, сам Backbone является только библиотекой. Все напрямую зависит от конкретной задачи и от ваших личный предпочтений.
    Плюсы Marionette - это четко определенная и знакомая MVC философия с внятным разделением обязанностей, структура проекта определена сразу и ограничивает написание своих "костылей", используется привычный jQuery и работа с UI не намного отличается от привычной. Из минусов - головная боль при работе со сложным UI (формы, куча окон и т.п.), много однотипного кода.
    Плюсы Angular - совершенно иная философия, "магия" и простота при работе с UI и view в целом, мало кода, много удобных и продуманных инструментов из коробки, но этим всем нужно научиться правильно пользоваться - это и есть основной минус (многие лепят костыли, а потом ругают фреймворк).
    С Ember не работал, но могу сказать, что он будет более похожим на Marionette но со своими плюшками.

    Если не можете определиться, то попробуйте сделать по одному небольшому проекту на каждом фреймворке и найдите лучший для себя. Если сильно ограничены по времени, то Marionette - проще будет понять и научиться использовать, но потом обязательно посмотрите на Angular.
    Ответ написан
    Комментировать
  • Как получить инициатор клика в Backbone.js?

    @movetz
    >> Если я кликнул на .delete-task в 3-ей лишке, то передать конкретно ее в переменную.
    Хм. Во-первых, для каждой лишки должна создаваться view, с каждой view ассоциируется соответствующая model с соответствующим id. Во-вторых, в этой view все события работают только в рамках $el, события вне твоей view не будут обрабатываться.
    В итоге должно быть два view - контейнер для всех тасков и view для одного, и в нем реализовывается удаление подобным образом:
    var TaskView = Backbone.View.extend({
            model: Todo,
            events: {
                'click  .delete-task' : 'removeTask'            
            },
            removeTask : function () {
                this.model.destroy();
            }
        });
    Ответ написан
    Комментировать
  • Необходим хороший паттерн для разработки приложения на backbone.js

    @movetz
    Можете посмотреть на это - Backbone Patterns. Сам сталкивался с таким же вопросом. В итоге посмотрел в сторону Marionette.js и почитал эти книги:
    Backbone.Marionette.js: A Gentle Introduction
    Structuring Backbone Code with RequireJS and Mario...

    В книге не плохо описываются как ключевые моменты использования так и структуры приложения.
    З.Ы.: Книги можно найти на рутрекере=))
    Ответ написан
    1 комментарий