169 похожих чатов

А почему все кому нужен интерактив используют какие-то js фреймворки?

Почему не нативный JS? Я вот тоже сейчас переписываю один из своих сайтов с Джумлы на Лару, сперва решил менять Квери на Vue3, но понял что меняю по сути то на то... Зачем каждый раз на странице грузить толстую библиотеку, когда нативный JS умеет все то же самое и в итоге на странице всегда будет на 100kb скриптов меньше.

9 ответов

20 просмотров

Если нативный умеет, то ок. Jquery это не нативный js. Это js библиотека точно также как и js фреймворки. Отличия лишь в возможностях.

помимо того, что описали выше, есть еще одна причина - обновление dom это затратно на js это надо оптимизировать самому - это трудно а у реакта/вью есть виртуал дом для этого

весь смысл раскрывается, когда у вас spa приложение. вы 1 раз грузите интерфейс и потом только блоки перерисовываете, а не всю страницу. а далее этот же api может пользовать моб. приложение или умное устройство

Vitaliy
весь смысл раскрывается, когда у вас spa приложени...

Да и без spa тоже самое, но с перезагрузкой страницы.

Andrey Helldar
Да и без spa тоже самое, но с перезагрузкой страни...

в этом есть какой то профит ? или это внедрение условного vue в уже готовый не spa проект ?

Vitaliy
в этом есть какой то профит ? или это внедрение ус...

Загугли что такое SPA (Single Page Application) и чем он отличается от не спа. Станет понятно. По поводу профита, spa пилить проще т.к. не нудно придумывать костыли на тему передачи информации между компонентами разных страниц. Но на практике всё зависит от бизнес потребностей. Например, на одном из сайтов нам спа был не нужен и поэтому просто прикрутили форму с пагинацией и фильтрацией на vuejs.

основная фича - это реактивность, о которой чуть ниже написали. если ты в jquery начнешь менять дом, то на каждый вызов любой функции меняющее дом, будет происходить перерендер и это может быть затратно, особенно в циклах. реактивные библиотеки же работают с виртуальным домом и обновляют реальный только когда посчитают нужным. а вторая важная фича - это переиспользуемые компоненты. а по весу самих библиотек, в сжатом состоянии, там разница незначительна. если гнаться за скоростью 2G, то тут и пакеты лучше вообще не подключать, а собрать только нужные методы. а ниже вопрос твой "зачем нужны фреймворки" - ответ такой же зачем ты используешь laravel. на фронте тебе тоже нужен порядок и если vue не сильно выделяется структурой, потому что он считает себя прогрессивным фреймворком (т.е. ты можешь его использовать как простую библиотеку и постепенно дойти до уровня фреймворка), то можешь посмотреть nuxt. напиши полноценное приложение на этом и у тебя отпадут вопросы, когда задумываешься как бы это всё ты написал с jquery или на чистом js.

Кстати, зачем менять джумлу на какой-то php фреймворк? Зачем подгружать 40 мегабайт каких-то зависимостей когда вот она в папке лежит?

Oleg- Автор вопроса
Andrey Helldar
Кстати, зачем менять джумлу на какой-то php фреймв...

Ради обучения, так сказать учусь на своих сайтах

Похожие вопросы

Обсуждают сегодня

Ребят в СИ можно реализовать ООП?
Николай
32
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем доброго вечера. Разрабатываю 32 раз. приложение в Delphi. Столкнулся с тем, что стандартный  TFilestream  не работает с большим файлом > 2 ГБайт (после вызова функции see...
Vadim Gl
16
У меня задача: написать брокер сообщений. Очереди и потребители. Очереди поддерживают приоритеты. Очередь отдает сообщения, только обработчикам с соответствующими характеристи...
Aleksandr Filippov
2
добрый день. Подскажите, есть сайт на 1.4.7 и я хочу обновиться, особо ничего не меняя. мне выбирать версию 1.4.35 или третью ветку? и можно ли обновлять "как есть", или нужно...
Digital Cat
12
народ, плиз хелп, всю голову сломал себе уже... разве может быть так, что GetProcAddress( GetModuleHandle( "kernel32.dll" ), "SetThreadDescription" ) вернёт ненулевое значение...
Iluha Companets
12
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Всем доброго вечера. Разрабатываю 32 раз. приложение в Delphi. Столкнулся с тем, что стандартный TFilestream не работает с большим файлом > 2 ГБайт (после вызова функции see...
Vadim Gl
8
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Карта сайта