Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
У V иногда может быть своя M для внутренних состоянийВы всё абсолютно верно говорите, это состояние, но в данном случае не модели, а представления, и его ещё называют ViewModel. Автор Мифрила, кстати, в своей документации упоминает ViewModel и эта библиотека прекрасно работает с идеей VM.
Сейчас выйдет вторая версия — и приложения на первой будут жить еще два года. Дальше — никаких даже обновлений безопасности. Это разве хорошо?
Прелесть отдельных библиотек в том, что их в большинстве своем не нужно обновлять.
реакт или тот же vue.js, они именно библиотеки, а не фреймворки.
Если глянуть на jQuery, что считается библиотекойСчитается, да, но существует мнение, что jQuery это фреймворк. Я лично считаю, что это библиотека, которая стоит близко к грани, по которой можно определять фреймворк. Вот граничный пример: в jQuery есть метод remove, служит для удаления нод из DOM. Помимо удаления, собственно, ноды, он удаляет некоторые связанные с ней состояния — собственный объект, инкапсулирующий события и объект, инкапсулирующий набор связанных data-атрибутов. При попытке удалить ноду с помощью DOM API, а не через специализированный метод jQuery, произойдёт утечка, если были использованы jQuery events или связанные данные.
А если шарит, то он может и свою архитекуру быстро сделать.
Помните старый программистский принцип – каждый модуль должен выполнять одну функцию. Если он выполняет две или более – его нужно разбить на части.
Но, есть и обратная сторона, вам нужно решать все остальные вопросы самостоятельно, как делать роутинг? как отправлять ajax запросы и прочее…Зачастую, роутинг, ajax запросы и прочее, уже решались на предыдущих проектах (например с jQuery), и взять наработанное решение будет быстрее чем изучать новое.
Например паттерн Наблюдатель, он используется в моделях Backbone, в дата-биндинге Angular и Knockout, и производит довольно большое “Вау!”. Но это всего лишь известный давным-давно паттерн, который можно реализовать на JavaScript за 30 строк кода или скачать один из тысяч готовых вариантов
Люди не понимали, как можно реализовать роутинг с переключением страниц, сложные интеактивные элементы и другое за такое время без фреймворков

А если честнее – потому что не видят альтернативы. А альтернатива есть, просто о ней забыли.
Не учите фреймворки, учите архитектуру
например реализуя MVP в рамках небольшого компонента просто мысленно разделять, что эти методы – это контроллер, эти свойства – модель и т.д…
function Feedback() {
var name;
var email;
var request;
}
// методы feedback.
Не учите фреймворки, учите архитектуру