Почему не нативный JS? Я вот тоже сейчас переписываю один из своих сайтов с Джумлы на Лару, сперва решил менять Квери на Vue3, но понял что меняю по сути то на то... Зачем каждый раз на странице грузить толстую библиотеку, когда нативный JS умеет все то же самое и в итоге на странице всегда будет на 100kb скриптов меньше.
Если нативный умеет, то ок. Jquery это не нативный js. Это js библиотека точно также как и js фреймворки. Отличия лишь в возможностях.
помимо того, что описали выше, есть еще одна причина - обновление dom это затратно на js это надо оптимизировать самому - это трудно а у реакта/вью есть виртуал дом для этого
весь смысл раскрывается, когда у вас spa приложение. вы 1 раз грузите интерфейс и потом только блоки перерисовываете, а не всю страницу. а далее этот же api может пользовать моб. приложение или умное устройство
Да и без spa тоже самое, но с перезагрузкой страницы.
в этом есть какой то профит ? или это внедрение условного vue в уже готовый не spa проект ?
Загугли что такое SPA (Single Page Application) и чем он отличается от не спа. Станет понятно. По поводу профита, spa пилить проще т.к. не нудно придумывать костыли на тему передачи информации между компонентами разных страниц. Но на практике всё зависит от бизнес потребностей. Например, на одном из сайтов нам спа был не нужен и поэтому просто прикрутили форму с пагинацией и фильтрацией на vuejs.
основная фича - это реактивность, о которой чуть ниже написали. если ты в jquery начнешь менять дом, то на каждый вызов любой функции меняющее дом, будет происходить перерендер и это может быть затратно, особенно в циклах. реактивные библиотеки же работают с виртуальным домом и обновляют реальный только когда посчитают нужным. а вторая важная фича - это переиспользуемые компоненты. а по весу самих библиотек, в сжатом состоянии, там разница незначительна. если гнаться за скоростью 2G, то тут и пакеты лучше вообще не подключать, а собрать только нужные методы. а ниже вопрос твой "зачем нужны фреймворки" - ответ такой же зачем ты используешь laravel. на фронте тебе тоже нужен порядок и если vue не сильно выделяется структурой, потому что он считает себя прогрессивным фреймворком (т.е. ты можешь его использовать как простую библиотеку и постепенно дойти до уровня фреймворка), то можешь посмотреть nuxt. напиши полноценное приложение на этом и у тебя отпадут вопросы, когда задумываешься как бы это всё ты написал с jquery или на чистом js.
Кстати, зачем менять джумлу на какой-то php фреймворк? Зачем подгружать 40 мегабайт каких-то зависимостей когда вот она в папке лежит?
Ради обучения, так сказать учусь на своих сайтах
Обсуждают сегодня