Js-фреймворк и jQuery, какой использовать фреймворк?
Здравствуйте, я средней руки программист, специализирующийся на backend. Но судьба заставила поддерживать сайт, обычный такой сайт, но с большим количеством js-кода на jquery.
Вопрос звучит примерно таким образом - можно ли использовать фреймворк, которым постепенно можно было бы заменить этот весь код? Важный момент: некоторый промежуток времени будет использоваться оба подхода (jquery и фреймворк).
Я с одной стороны понимаю, что, возможно, овчинка не стоит выделки, однако, есть мотивация, выучить что-то новое и использовать это где-то в дальнейшем, с другой стороны, нет сил больше смотреть на этот бардак в js.
До этого пробовал ReactJs ES6, TypeScript - очень чистый код получается, меня это очень порадовало, показалось какой-то фантастикой. Хотелось бы убраться и в этом проекте, но я слышал что react и jquery несовместимы.
В общем выход из данной ситуации я нашел своеобразный - backbone + react. Backbone - чтобы был классический mvc ну и в случае чего, можно использовать jQuery, чтобы не переписывать сразу много. И react в качестве view.
Всем спасибо.
А зачем вам вообще какой либо фреймворк? Нет фреймворки конечно нужны, но у вас уже код без фреймворка, а нативный JS сейчас умеет все что умеет jQuery и даже больше.
Умеет - это да. Но проблема в структурировании кода, работает несколько разработчиков, каждый пишет как знает, как хочет. Хотелось бы все привести к стандарту.
Артем Кисленко: в jQuery все также, от того что вы напишите нативное addEventLister или jquery функцию on, код структурирование не станет, но у нативного addEventLister есть третий параметр позволяющий менять порядок а у функции on его нет.
Артем Кисленко: не один фреймворк не спасет от былокодинга, можно писать очень изящные вещи на нативном js, а можно набыдлокодить на чем угодно
P.S. в какой то степени помогает jshint подключенный к редактору
React.js не ставит своей целью заменить jQuery и в нем нет никаких средств для отправки AJAX-запросов, поэтому они полностью совместимы и более того, jQuery рекомендуется самими разработчиками React, учитесь пользоваться Google, буквально за одну минуту можно найти.
Выбор не сильно большой, или ангуляр или реакт. Реакт тяжелее но если разреберетесь, потом спокойно по фреймворкам прыгать будете. И в ангуляре обратной совместимости нету, будут проблемы.
Т.е. вы хотите не поддерживать старый код, а переписать его с нуля? Ну тогда вообще всё равно какой фреймворк использовать. Они все вместе с jQuery работать умеют.
Не с нуля, а постепенно старый заменяя на новый, спасибо, просто меня смущало то, что react и jquery по-разному с дом работают, и если те изменения которые сделает jqery не отобразятся на странице, т.к. у react свой dom и он ничего не знает о тех изменениях, которые сделали другие библиотеки.
Артем Кисленко: Какая разница как что работает и с чем? Главное чтобы они не конфликтовали между собой. А если работа с DOM в реакте устраивает, то нафига тогда вообще жиквери (это, как бы, его основная фича)?
GreatRash: я же написал, что кода очень много, нельзя сесть и сразу переписать. Jquery будет пока проект постепенно полностью не перейдет на другой фреймворк.