Комментарии 10
Если и делать фронт отдельно, то лучше сразу взять svelte, vue или react.
Jquery это скорее когда надо во фронт на пыхе какую-то минимальную реактивность добавить. А минимальную реактивность проще целиком во вьюхе писать.
Если реактивности должно быть много, то лучше не морочится и перейти к варианту svelte, vue...
jQuery сам по себе не про реактивность, а про методичное получение селекторов и замену там контента, даже "какого-то минимума" реактивности из коробки, увы, нет :)
Тут разговор больше про рефакторинг уже чего-то сделанного, конечно, когда мы говорим про реактивность на фронте, то в голове держим какой-то веб-фреймворк, но сама возможность реализации это без него - просто хорошая, может кому-то даже очень полезная.
Не могу не отметить, что даже при наличии <?php в HTML, он не используется для фронтенд-разработки в общепринятом понимании этого термина. ;)
Я правильно понимаю, что в итоге получился React (классовые компоненты) с jQuery вместо JSX?
А зачем?
Вы правы абсолютно, есть влияние React, - потому что я обожаю React и ничего не мог с собой поделать, но различия в позиционировании инструментов есть.
Первое и что самое важное, выше примеры позволяют написать компонент с реактивностью в уже написанном коде на jQuery. Порой, очень дорого и долго всё переписывать на React :)
Второе, если мы будем говорить о новом приложении, то сразу оговорюсь, нужно использовать что-то проверенное - тот же React, но при производстве небольшого сайта с 5-10 кнопками и функциями - целый фреймворк за собой тащить не обязательно, можно описать куда более легким по весу jQuery. Как бонус у достаточно большого числа пользователей он уже есть в браузере, и его не нужно загружать отдельно)
Первое и что самое важное, выше примеры позволяют написать компонент с реактивностью в уже написанном коде на jQuery.
React можно поэтапно внедрять в существующее приложение, алгоритм есть в официальной документации.
Порой, очень дорого и долго всё переписывать на React
Расскажите, пожалуйста, почему переписывать на Micro Component дешевле и быстрее? Тут как минимум добавляется необходимость изучения нового "фреймворка" MC, а React все знают.
Второе, если мы будем говорить о новом приложении, то сразу оговорюсь, нужно использовать что-то проверенное - тот же React, но при производстве небольшого сайта с 5-10 кнопками и функциями - целый фреймворк за собой тащить не обязательно, можно описать куда более легким по весу jQuery.
Ну нет, у Вас не jQuery, а jQuery + MC. Возможно, что по весу это будет легче, чем React, но ведь и функциональность несравнима.
Сейчас в индустрии, КМК, основным критерием является скорость разработки, и если это так, то "тащить фреймворк для производства небольшого сайта" становится вполне оправданным.
React можно поэтапно внедрять в существующее приложение, алгоритм есть в официальной документации.
Да, это прекрасная возможность которая заложена в React) В целом, там это тоже есть свои скелеты, но сделать это относительно легко.
Но если мы будем внедрять React, может лучше уже развернуть целый проект со сборщиками и scss ( это просто как пример, конечно ) и сделать его на новых рельсах без jQuery ?) Вопрос на самом деле открытый, можно конечно сделать и внедрением React в существующий проект. Я бы так делать не стал, но это только моё решение. Если посмотреть о чем я пишу, то смысл там в том, что MC имеет такую же связность с jQuery, как и ajax. Поэтому он не внедряется в jQuery, а работает вместе с ним, это можно проследить и в моей цитате, где сам смысл заложен в части где я пишу, - "уже написанном коде на jQuery".
Расскажите, пожалуйста, почему переписывать на Micro Component дешевле и быстрее? Тут как минимум добавляется необходимость изучения нового "фреймворка" MC, а React все знают.
Если вопрос в переписывании, то я не вижу смысл это делать на МС, тут можно взять ( выбрать любой современный веб-фреймворк ) и переписать на него. Сам МС не позиционирует себя как "убийца React", он про реорганизацию существующей, уже готовой кодовой базы. Какие-то части безусловно, было бы полезно переписать на МС, разделить нагромождения "лапши кода", который может создать программист на jQuery, новые части приложения которые вы хотите добавить, наверное, удобно будет добавить с помощью МС, но переписывать весь уже написанный проект на него наверное не стоит - он не для этого создан.
Отдельно хочу сказать спасибо за "фреймворк") Очень приятно, но всё таки МС - это либо легкая библиотека, либо плагин - тут как удобнее. До фреймворка, нужно будет еще долго расти, но в формате целей инструмента, вероятно, это не нужно. По поводу учить: я честно постарался написать документацию и учебник простыми словами, и вполне возможно, у меня не получилось, если это так я надеюсь мне об этом скажут, я оперативно поправлю. Тем не менее, учить МС - это крайне недолгий процесс.
Ну нет, у Вас не jQuery, а jQuery + MC. Возможно, что по весу это будет легче, чем React, но ведь и функциональность несравнима.
Конечно не сравнима, вы полностью тут правы! React разрабатывают умнейшие и уважаемые сообществом разработчиков люди, а MC один программист. Но, уже как было указано - эти инструменты применимы в разных ситуациях.
Вроде на всё ответил, если что-то упустил - пожалуйста напишите. Задавать вопросы, и критиковать - обязательная функция здравомыслящего человека. Спасибо!
Update
Не ответил про новые проекты и скорость разработки, исправляюсь сразу тут.
Новый проект можно развернуть на jQuery и MC, если вы хотите написать его на jQuery. Тут как кому удобно, мне допустим сайт визитку удобнее на jQuery сделать, а приложение с подтянутым OpenLayes, и горой функционала вокруг него на React, не смотря на то, что на этих двух технологиях, лично я, работаю одинаково хорошо - это входит в мой рабочий стек.
Если скорость разработки выделить отдельно, то тут получится довольно тяжелая тема, наверное, кому как удобнее - люди же все разные :)
C jQuery тоже возможна реактивность, через плагин – https://github.com/ermouth/jQuery.my
Такая ламповая статья, узнаю себя лет этак 10 назад. Хороший пример правильного использования backbone.
Архитектура MVC и поддержка реактивности для jQuery