Начал изучать ReactJS, понял принцип работы библиотеки, но углубивший дальше, рекомендуют изучать Redux, React-router, Webpack, NPM и так далее. То есть все дальнейшее изучение сводится к разработке NodeJS приложения, тогда как я пользуюсь php.
У меня возник вопрос, а как можно все эти фишки (Redux, React-router и другие) использовать на php или это особенности разработки "правильного" приложения на nodejs?
Правильно ли я понимаю, что reactjs для php (и всего остального) это только рендер компонентов? а редаксы, реакт-роутеры и архитектура Flux это для разработки на node.js?
frontend становится настолько сложным, да уже им стал, что теперь да, без огромного опыта вот так с наскоку не получится. используйте его просто как spa.
Вам стоит получше разобраться в теме одностраничных (single page applictaion, SPA) приложений и такого понятия как REST API. То есть, вы на пхп будете делать только "апишку", которая будет отдавать json-данные, например - список продуктов, а на реакте уже это все показывать. Причем, ваше SPA может и скорее всего будет использовать и flux/redux и react-router и npm, но это все нисколько не помешает бэкэнду на php.
Спасибо за подробную информацию, возник вопрос только по последнему предложению:
"Причем, ваше SPA может и скорее всего будет использовать и flux/redux и react-router и npm, но это все нисколько не помешает бэкэнду на php.".
Я наверное не догоняю, но ведь на бэкенде node.js, webpack и другие и реакт обращается к ним за получением данных, вы хотите сказать что весь этот набор необходим только для разработки фронтэнда? а по факту работать она может и с php, python ...?
Febox: именно! Только поправлю: не "на бэкэнде", а у вас на девелоперской машине (там где вы разрабатываете код) скорее всего будет стоять node.js, с которым идет пакетный менеджер npm, с помощью которого вы скачаете, и так как у вас установлен node.js сможете запускать webpack для удобства разработки. В процессе вы будете использовать разные другие пакеты, все это скорее всего так же будет скачано через npm, ибо удобно. А ваш бэкэнд (читай - сервер, который отдает json) - может быть написан хоть на чем. Он может работать в облаке или в другой вкладке в терминале. Он может уметь посылать данные по сокетам, а вы у себя на клиенте сможете принимать данные по сокетом, если напишите механизм, или ... скачаете еще один npm пакет =)
Нет, вы не правильно понимаете, реакт это компонентная библиотека, и все эти советы сводятся к тому чтоб упростить вам жизнь во фронтенде, то что вам рекомендуют использовать npm не значит что нужно обязательно заменить бекенд, нода не только бекенд, это еще прекрасный скриптовый язык широкого назначения, начиная от банальных консольных скриптов и до веб-сервера.