JavaScript

В чем цель фреймворков js web?

Ребята, делаю проект на django. Нужно для проекта drag and drop list по типу trello и некоторые другие вещи, которые решаются на js. У меня есть 2 варианта: 1) использовать django + чистый js 2) django + vue.js. Потеряю ли я что-то если буду использовать чистый js? Просто сам back-end разработчик и для своего проекта понадобился front, что будет лучше использовать js или vue.js?
Цель vue, react, angular и т. д. в том, чтобы организовывать большой объем кода, когда фронт разрастается до огромных размеров, создавать используемые много раз компоненты, биндинг UI элементов к вью модели в javascritpt объекте.

Подключать или нет смотри по объему работы. Простой канбан и без этого можно сделать. Но если у тебя будет большой и сложный UI, то фреймворк в будущем сделает твой проект лучше организованным. Так же учитывай, что изучать фреймворк ты тоже потратишь время, а в интернете и готовых канбанов много)
Rovshen Meherremov
Rovshen Meherremov
997
Лучший ответ
если нужно быстро, то vue в помощь, но если ты можешь легко, просто и быстро реализовать на чистом js, то так конечно лучше
Есть фундаментальная проблема - в базе динамический фронтенд на JS пишется ИМПЕРАТИВНЫМ способом, т. е. вместо того чтобы писать "ЧТО" ты хочешь получить ты должен писать "КАК" - ты кодом описываешь последовательность действий приводящих к нужному тебе результату вместо того чтобы описать желаемый результат: ты вручную находишь DOM элемент (ну да, еще и селектор на него повесить нужно перед этим кек), ты вручную вешаешь на него событие, ты вручную изменяешь DOM при реакции на событие.
Разумеется это абсолютно неудобный и не масштабируемый подход к созданию интерфейсов, и разумеется разработчики придумали единственно верное в данной ситуации решение - сокрыть эту жуткую императивщину под библиотекой или фреймворком реализующим ДЕКЛАРАТИВНЫЙ подход к созданию интерфейсов.
По этому сейчас нужно здраво оценивать все риски роста проекта, насколько динамичен будет фронтенд, удасться ли это сделать красиво и лаконично на чистом js или нужно заложить возможность роста сложности и взять react/vue.