Задать вопрос

В чем концептуальный смысл ухода с jQuery на более современные front end инструменты?

Всем привет.

В современном фронтенде я совсем новичок, хоть и занимаюсь программированием уже не первый десяток лет.
В плане фронтенда я застрял на уровне года 2012 (а может и еще раньше). То есть - jQuery - и плагины к ней. Никаких lodash, underscore и, там более, JS фреймворков/модных либ :)

Сейчас появилось время и новый проект я решил начать на Rails + Vue.js. Все красиво, все нравится, но я не понимаю (не вижу) сильного профита. Вот сильные стороны, которые я вижу (и сам же отвечаю, почему и до этого это не было проблемой).

Сразу говорю, я сравниваю не голый фронтенд на jQuery и голый фронтенд Vue.js, а именно разработку на рельсах с jQuery во фронте и разработку на рельсах с Vue.js во фронте (а не Rails API + Vue.js SPA).

- В Vue.js можно создавать свои компоненты и использовать их по много раз. Но так и в rails можно партиалы делать и так же реюзать их.
- В Vue.js у каждого компонента все в одном файле. И шаблон и данные и стили. Удобно, да, но и в прошлых проектах я разбивал стили/скрипты на отдельные мелкие файлы и не испытывал проблем открыть сразу нужный файл.
- В Vue.js (да и не только) не замусоривается глобальная область видимости. Но и в проектах на рельсах все скрипты у меня были в своих неймспейсах и в window экспортировались только те функции, которые должны быть доступны извне.
- В Vue.js есть вычисляемые выражения, но и в rails есть вью хелперы, куда все это можно засунуть.
... может еще что-то забыл, но все, что у меня возникало в голове, тут же находило аналогичный отклик "так ведь я это уже делал"

Сейчас конечно, чувствуются некоторые неудобства, например передача пропсов из рельсов в vue, невозможность использовать методы моделей в отображениях (приходится данные заранее готовить в контроллере/вью хелперах), но это все дело привычки.

Так вот. Вопрос в заголовке :)

P.S. Проект на рельсах, который я все время в пример ставлю - это не "поделка на коленке", а довольно серьезный проект с несколькими сотнями партнеров и сотнями тысяч пользователей (ну и тысячами строк кода).
P.P.S. Всех с наступающим!
  • Вопрос задан
  • 2192 просмотра
Подписаться 14 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 7
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Ответ написан
Комментировать
NightmareZz
@NightmareZz
Нищий разработчик из Симферополя
Зачем они это делают? Хипсторы, сэр!
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Эти vue, angular'ы и прочие реакты нужны тем, кто делает SPA. Остальные (большинство) просто ведутся на хайп.

Сравните циферки:
https://trends.builtwith.com/javascript/Vue
https://trends.builtwith.com/javascript/jQuery
Ответ написан
Выгода от использования Vue в сравнении с jquery заметна уже после того, как на атрибут disabled кнопки в форме влияет 2 и более условий, не говоря о состоянии других элементов. Если отображение ваших элементов на странице не зависит от состояния других объектов, то значит вам и правда не нужны фреймворки. Они требуются, если вы пилите нечто более-менее динамичное.
Ответ написан
Комментировать
KorniloFF
@KorniloFF
Работаю по font-end / JS
Преимущества Vue :

1. Виртуальный DOM
2. Можно делать крутые анимации практически любой сложности

Если вам этого не нужно, то и от Vue профита не будет никакого.
Ответ написан
vicodin
@vicodin
Имею некоторый опыт
В лучшей организации кода => более быстром его написании и удобной поддержке в дальнейшем.
Ответ написан
Комментировать
ozknemoy
@ozknemoy
яваскриптист
все зависит от сложности сайта. совсем простые обойдутся без application фреймворков, остальные нет. с границей сложности не все так просто. что то конкретное советовать не видя сайта это от лукавого. много видел личных кабинетов на angular( vue черпал идеи именно у него). петросбыт и госуслуги например. песочница plunker. всякие инетбанки. встечается когда spa фреймворк реализуют только под конкретные фичи. например, фильтр товаров и корзина у магаза петрович
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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