Что такое MVC, все в названии. Model-View-Controller (MVC). MVC разделяет компоненты на три типа: модель, представление и контроллер. Каждый из этих компонентов имеет дело с определенным аспектом приложения. Давайте разберем каждую из трех основных частей —

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

Почему вам следует использовать фреймворки MVC?

Веб-приложения, как правило, требуют ТОНН взаимодействия с пользователем. JQUERY и другие библиотеки отлично подходят для создания веб-сайтов, однако теряют свою изобретательность при создании веб-приложений. Веб-приложения должны взаимодействовать с сервером, и если вы напишете это без MVC, ваш код окажется неструктурированным, немасштабируемым и не подлежащим тестированию.

Когда следует использовать фреймворки MVC?

  • Поддержка асинхронных методов
  • Функциональность без обновления браузера
  • Возможность предоставления нескольких видов из одной и той же модели
  • Ускоренная разработка (один разработчик может создать представление, другой — контроллер, а третий — модель). Потенциальное ускорение разработки в 3 раза.

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

Какие существуют популярные фреймворки MVC?

  • Магистраль
  • Угловой JS
  • Эмбер
  • Нокаутировать

Все они имеют свои преимущества и недостатки по сравнению друг с другом, а также по сравнению с не-MVC-фреймворками. Выбор зависит от того, насколько активно ваше приложение использует сервер. Выбирай с умом!