Интеграция Bitrix CMS и ReactTS, стоит, не стоит и как реализовать?
Всем привет, хотим сделать сайт интернет магазин.
CMS должна быть Bitrix 1c, требование заказчика, так же хотят SPA приложение на React, вопрос в том, стоит это делать, не стоит и как сделать.
Пока идея установить Bitrix cms и Laravel и отдавать API в React после чего выводить информацию. Что скажите, как это будет выглядеть?
Вообще знаю 2-3 довольно крутых проектов, которые были так реализованы и они работают очень круто и выглядят очень круто
Dmitry Bay, Имею представление как это может работать, но сам не разу не делал, вот интересно, как это будет на практике. Хотел узнать ,может быть кто нибдуь делал или же все таки стоит реализовать стандартными средствами cms bitrix
Дмитрий Путилов, Зависит только от ваших потребностей и бизнес задач.
Надо SEO? лучше традиционно сделать.
Надо быстро? Лучше традиционно сделать.
Надо модно и современно? ReactJS.
Надо быстрый отклик и не зависеть от 1C по сути? ReactJs.
На ReactJs плюс подготовка АПИ на битриксе - отнимет 2-3x времени. Для интернет магазина я не вижу вещей, который были бы 100% полезны. Ну кроме фильтров типа как у ДНС магазина и подобных, там да, я бы может в реакт завернул. Но это лишь маленький компонент, и вам не надо всю верстку магазина оборачивать в ReactJs.
Dmitry Bay, в целом можно сказать что все что требует индексации не стоит делать на реактивных фреймворках.
В ИМ на них есть смысл делать корзину, может быть фильтры, страницу оформления заказа, избранное, но вот каталог и страницы товаров я бы делал традиционным образом.
modelair, потому что, на мой взгляд, SSR это костыль, причем ради костыля. Т.е. решающий проблему которая была создана только для того чтобы решить ее с помощью SSR.
В целом всякие Vue и React хороши там где должны меняться состояния данных. Например товар в корзине/не в корзине, в избранном/нет и т.п. А тулить их на рендеринг каталога смысла нет - там по сути данные на фронте статичны. Вы ими там никогда не манипулируете, так как фильтрацию, сортировку вы не можете сделать на фронте. Так зачем туда добавлять реактивность? Только для того чтобы потом долбаться с SSR?
Все ИМХО, конечно.
Александр Маджугин, у реакта есть некст, как и у вью - нюкст. :) позволяют не "долбаться".
ну и реактивность это необязательно, как и манипуляции с фильтрацией и прочим.
Это отступление. В рамках этой задачи я с вами согласен
modelair, И до сих пор не сделали внятное и устраивающее всех решение. Я про SSR.
Тут важно понимать, что если человек пришел в интернет магазин, значит он ищет вещь, и потеря 1-2 минут в общем счете никак не сказываются, если он нашел то что искал.
modelair, А почему не стоит делать на React + TS + Laravel в рамках этого проекта?
Мне кажется, что возможностей намного больше в будущем развивать и добавлять что то новое в этот проект, так же намного проще работать с системой контроля версий GitHub. Я когда разрабатывал сайты, натягивал верстку на CMS bitrix php, была проблема в дальнейшем добавлении новых идей на сайт, потому что с React можно быстро откатиться на старую версию вдруг чего и просто равернуть, а когда работал с php, приходилось лезть в код на хостинге, искать некоторые моменты, натягивать и править код в html и добавлять вручную. Потому что webpack собирал файл и весь html обновлялся, и приходилось заходить, искать конкретный часть верстки, копировать, идти на хостинг и там добовлять его. Возможно я что то делал не так кнч, ну у меня такой опыт. А React добавил, и сразу обновил на хостинге
Хотя в целом, с точки зрения фронтэндера, в т.ч. делающего приложение на реакт, все именно так. Вы просто натягиваете верстку на свой компонент реакт. Но представьте что верстальщик бы верстал отдельно, а React разработчик натягивал бы эту верстку отдлельно и все ровно так же становилось бы и в случае с реакт, как в случае с php: приходилось лезть в код на хостинге, искать некоторые моменты, натягивать и править код в React и добавлять вручную.
Александр Маджугин, так в React ведь вы если идете править, то вы клонируете последнюю версию в GitHub, после разворачиваете на локалке, делаете правки и пишите yarn build, после чего вы просто закидываете все файлы, которые у вас забилдились на хост и готово. Если случится какая то проблема, вы просто берете клонируете версию, которая была до этого и пишите так же yarn build и закидываете сбилженные файлы на хост и все, версия быстро восстановлена. К сожалению, с php так не прокатит. Там с начала вы качаете верстку с гита, после вносите правки, после копируете сбилженный файл css и закидываете его на хост и после вручную натягиваете html моменты на верстку, а с откатами на предыдущие версии так там вообще по моему беда полная, на сколько мне известно
А Back-end все же проще внести правки мне кажется, и гит вернуть тоже проще
Дмитрий Путилов, так в php ведь вы если идете править, то вы клонируете последнюю версию в GitHub, после разворачиваете на локалке, делаете правки, после чего вы просто закидываете все файлы, которые у вас забилдились на хост и готово. Даже yarn build делать не надо )))
К сожалению, с php так не прокатит.
Только в том случае если описывать все как вы - игнорируя тот факт что вы совмещаете процесс верстки и натягивание ее на react, представляя этот как один не разъемный процесс, просто потому что вы так работаете.
Но если бы у вас было два сотрудника - один бы собирал верстку, а второй тянул бы ее на реакт, все эти шаги вам пришлось бы повторять как и с PHP: сначала вы качаете верстку с гита, после вносите правки, после копируете сбилженный файл css и закидываете его в компоненты реакт и после вручную натягиваете html моменты на шаблоны реакт. А потом еще раз и собираете все.