Что такое MVC, все в названии. Model-View-Controller (MVC). MVC разделяет компоненты на три типа: модель, представление и контроллер. Каждый из этих компонентов имеет дело с определенным аспектом приложения. Давайте разберем каждую из трех основных частей —
- Модель — данные, к которым обращается приложение. Модели соответствуют типу данных, с которыми работает приложение, например, видео, пользователи или комментарии. Изменения, внесенные в модель, будут транслироваться всем, кто слушает в приложении.
- Вид — пользовательский интерфейс приложения. Представления привязаны к конкретной модели. Каждый раз, когда модель обновляется, представления обновляются в соответствии с этим изменением. Пользователь увидит это изменение по мере его возникновения.
- Контроллер — используется для отслеживания ввода, например кликов или событий браузера. Контроллер обновляет модель на основе этих действий. Например, если пользователь редактирует информацию о своем адресе.
Почему вам следует использовать фреймворки MVC?
Веб-приложения, как правило, требуют ТОНН взаимодействия с пользователем. JQUERY и другие библиотеки отлично подходят для создания веб-сайтов, однако теряют свою изобретательность при создании веб-приложений. Веб-приложения должны взаимодействовать с сервером, и если вы напишете это без MVC, ваш код окажется неструктурированным, немасштабируемым и не подлежащим тестированию.
Когда следует использовать фреймворки MVC?
- Поддержка асинхронных методов
- Функциональность без обновления браузера
- Возможность предоставления нескольких видов из одной и той же модели
- Ускоренная разработка (один разработчик может создать представление, другой — контроллер, а третий — модель). Потенциальное ускорение разработки в 3 раза.
Вы не должны использовать его, если большая часть вашей работы выполняется на стороне сервера с небольшим взаимодействием на стороне клиента. В этом случае лучше использовать более простую настройку, такую как библиотеки манипулирования DOM.
Какие существуют популярные фреймворки MVC?
- Магистраль
- Угловой JS
- Эмбер
- Нокаутировать
Все они имеют свои преимущества и недостатки по сравнению друг с другом, а также по сравнению с не-MVC-фреймворками. Выбор зависит от того, насколько активно ваше приложение использует сервер. Выбирай с умом!