2014-02-14 4 views
0

Хорошо ли комбинировать MVVM [angularjs, knockout.js] с MVC [JSF/spring].Можно ли интегрировать MVVM [angularjs, knockout.js] в MVC [JSF/spring]

  1. Это хороший способ контролировать объект/переменные mvvm/изнутри страницы JSF. Допустим, что мне нужно обновить выпадающий список в модели angularjs, используя контроллер jsf для извлечения объекта списка и изменения модели выпадающего окна angularjs. Является ли это чистым способом или мусорным способом или это просто работа.

ответ

1

Должен признать, что я действительно не знаю JSF или Knockout. Однако я могу легко представить, что, поскольку обе стороны хотят, чтобы они отвечали за просмотренные компоненты, основанная на компонентах инфраструктура, такая как JSF или Wicket, может столкнуться с проблемой игры вместе с Angular. Приходят в голову пару вещей:

  • Зачем вам нужна структура компонентов со стороны сервера? Почему бы не использовать структуру, основанную на запросах, такую ​​как Spring MVC или struts? Они должны работать нормально, поскольку они просто заботятся об общей загрузке страницы.
  • Возможно, вам будет хорошо, если вы решите использовать одну технологию, чтобы сделать что-то одно. Например, делайте свои контейнеры страниц с помощью JSF и все внутри страницы с помощью Angular. Я думаю, с тобой все будет в порядке. Конечно, вы теряете большую часть преимуществ JSF.
1

Я на самом деле делаю это прямо сейчас. Я не могу сказать, что такое лучшая практика, но мы обнаружили, что нам нужно иметь возможность выводить динамический HTML с сервера, даже если у вас есть MVVM framework в интерфейсе. Такие вещи, как интернационализация, лучше обрабатываются на стороне сервера, а с чисто статическим HTML с сервера вы сталкиваетесь с множеством ограничений.

Главный недостаток - сложность. У вас будут контроллеры, модели и представления на сервере, в сочетании с контроллерами, шаблонами и видовыми режимами на клиенте. Это немного сбивает с толку архитектуру, особенно когда вы вводите новых членов в команду, поэтому документация и структура кода становятся очень.

В целом, я считаю, что это правильный подход. Он пока не укусил нас, по крайней мере :)

Смежные вопросы