MVVM может хорошо работать в Интернете и в технологии на основе XAML.Технология XAML имеет преимущество в своих удивительных связывающих функциях, которые встроены. Но с библиотеками JavaScript, такими как Knockout (что превосходно) и JsViews / JsRender (которые вы должны изучить, как только JsViews выйдет на бета-версию).
Toотвечу вам конкретно: да, вы можете делать MVVM с веб-приложениями.Это хорошо?Да, если вы используете библиотеку типа Knockout (http://knockoutjs.com). Ключи к MVVM заключаются в том, что это простой шаблон разделения, который:
- разделяет представление (страница)
- разделяетМодель (необработанные данные)
- разделяет модель представления (логику представления)
Нигде не существует технологии, предписанной MVVM. Представление - это ваш html, ваша структура.ваши данные (возможно, JSON). Viewmodel - это ваш javascript-объект, который разделяет логику для вашего конкретного представления.
Knockout предоставляет средства для ежедневного связывания данных через концепцию, которую он вызывает наблюдаемыми. По сути, думайте об этом какИнтерфейс INotifyPropertyChanged, но для JavaScript. Knockout также поддерживает observableArray (который аналогичен ObservableCollection в XAML). Knockout имеет множество других функций, которые позволяют подписываться на события изменения данных, создавать поведения, настраивать привязку и многое другое. В любом случае ..с Knockout вы получите совсем немного.
Если вы решитеo MVVM без библиотеки, такой как Knockout, вы все равно можете это сделать, но вы потеряете функции привязки данных и, возможно, захотите написать что-нибудь самостоятельно.Но я настоятельно рекомендую придерживаться библиотеки, которая сделает это за вас.
Длинный ответ ... но я хотел дать вам достаточно, чтобы начать изучение.