Если по-простому, то фреймворк - это такой сборник готовых компонент и правил их взаимодействия. Он дает тебе структуру и компоненты - и ты из них как из кубиков Lego можешь собрать свое приложение по определенным правилам. Чаще всего фреймворки не очень-то совместимы между собой, поэтому стоит сразу определиться, какой из них использовать (например, в жизни "фреймворк" детских конструкторов Lego не будет совместим с "фреймворком" ПАКС - системой построения шкафов ИКЕА).
В чем плюсы фреймворка? Если ты знаешь, что такое Lego и как оно работает, то с легкостью разберешься как из этих кусочков построить себе что-то интересное и справишься гораздо быстрее, чем делать это с нуля из случайных материалов, не имея никаких правил и ориентиров.
Минусы в том, что ты ограничен рамками фреймворка и не для всех задач он идеально подходит.
Например, те же шкафы - если готовые варианты есть только 50, 75 или 100 см, а у тебя ниша шириной 120см, то тютелька в тютельку такой шкаф не впихнешь, придется или делать на заказ или ставить 100см и закрыть глаза на огромные щели по бокам.
Но легкость, скорость и удобство обычно пересиливают 😊 Ведь идеальный шкаф на заказ - это дорого и долго ждать, а готовый купил, быстренько собрал - и радуйся 🥳
Для многих ситуаций таких простых и быстросборных решений вполне достаточно. За это их очень любят заказчики и работодатели - и поэтому сегодня мало выучить только язык программирования. Обычно для трудоустройства крайне желательно знать и уметь применять еще какой-нибудь популярный фреймворк.
Так какие же фреймворки стоит начинать изучать? Лучше всего - те, на которые больше всего вакансий, которые с каждым днем все популярнее и не "умрут" в ближайшее время. Здесь хорошим помощником будет сервис Google Trends (https://trends.google.com/trends/explore?cat=31&q=Vue.js,React,Angular), о котором я как-то уже писала 😉
Просто вбиваем в него список фреймворков нужного нам языка программирования, например, JavaScript и видим, что для него самым популярным является фреймворк React. Именно его стоит начинать изучать в 2020м году, если хочется заниматься frontend-разработкой 👍