Подойдет ли инфраструктура MVC на стороне клиента для создания элементов управления UI - PullRequest
0 голосов
/ 29 сентября 2011

В последнее время я думал о разработке набора элементов управления UI, похожего на Extjs или YUI, но использующего инфраструктуру MVC, такую ​​как Backbone или Spine. Я ошибаюсь, принимая это решение? Подойдет ли фреймворк MVC для целей такой разработки? Какова будет значимость, стоимость поддержания такого проекта.

1 Ответ

1 голос
/ 29 сентября 2011

Технически, я не понимаю, почему ты не можешь этого сделать. Вы бы отказались от «маршрутизаторной» части Backbone и использовали бы Модели, Коллекции и Представления. Вероятно, вы также откажетесь от всех возможностей синхронизации бэкэнда коллекций и моделей в пользу собственного интерфейса с клиентским приложением. Вам также нужно будет найти способ применить шаблон рендеринга Backbone в целом, чтобы клиентское приложение могло размещать ваши виджеты. Вы можете получить некоторое разделение проблем, и ваш набор виджетов будет работать.

Но я не знаю, рекомендую ли я это. Создавая набор виджетов для Backbone, вы требуете, чтобы ваши пользователи были связаны с Backbone, Underscore и, возможно, с jQuery. Вы бы это делали, но отказались от многих функций, которые может предложить Backbone (таких как маршрутизация и синхронизация). Если клиентское приложение также использует Backbone, вы также можете столкнуться с проблемами несовместимости версий, поэтому вам придется решать эту проблему с помощью noConflict.

В целом, мне кажется, что вы вкладываете целый набор инструментов в свой набор виджетов для минимальной выгоды. Ваш комплект виджетов был бы толстым и раздутым сразу. Вместо этого я бы попытался сделать свой набор виджетов более легким. Используйте шаблоны, которые вы изучили в Backbone, но не используйте сам Backbone. Даже подумайте над тем, чтобы скопировать некоторый код Backbone для создания своей инфраструктуры, но измените его, чтобы исключить функции, которые вы не будете использовать, и сделайте его своим собственным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...