Одна из привелегий работы в РИСЕРЧ ЭНД ДЕВЕЛОПМЕНТ отделе заключается в том, что можно без зазрения совести тратить оплачиваемое работодателем время на этот самый рисерч, чем я однажды и занялся, спустив несколько человекодней в слив очередного жс-хайпа под названием реакт.
Немного поподробнее: реакт - это довольно прикольная либа для компонентных вьюх, больше оно нихуя не умеет, но это не жалко, мы же за юникс-вей! Лучше хорошо сделанная компонентная либа для вьюх, чем какой-то очередной не доконца доделанный монстр (привет, ангуляр!) который типа умеет все. Но не все так сладко.
1. Можно сразу же забыть про "просто либа", это не либа, а целая, как говорят в жс-чатиках, Э К О С И С Т Е М А. Экосистема заключается в том, что для хелловорда на реакте (без всяких редаксов, реакт-роутеров и прочих лишних вещей) вам понадобятся 172 зависимости, а минифицированный размер вашего хелловорда будет составлять каких-то 152 килобайта. Не пытайтесь что-либо сделать без react-create-app (который и дарит вам незабываемые 172 зависимости и полные удовольствия 152 килобайта хеллоуворлда), иначе вы останетесь без документации, без помощи замечательного сообщества и с неподдерживаемым кодом, поскольку приложение на реакте автоматически подразумевает жс-хэ, вебпак, бабели, экмаскрипт три тысячи и кучу еще хуй пойми чего. Без этого любая найденная в интернете документация окажется бесполезна, сообщество будет вынуждать вас доставлять весь требуемый ворох зависимостей (иначе не помогут, так как не могут даже прочитать не жс-хэ ес2036 код), обзываться луддитом, который небось еще на es5 пишет, а ваш код будет неподдерживаемым, так как любой нанятый на ваше место react-разработчик просто не сможет с ним работать.
2. Реакт достиг совершенство в плане технологии сборки мусора неактивных проектов. Как только вы перестаете активно пилить проект - он умирает и с этим ничего не поделать. Если вам, например, требуется что-то сделать с проектом, который пилили полгода-год назад и это "что-то" не "выбросить" - вы попали. В общем, удачи. Обязательно через несколько дней поделитесь с миром знаниями о том, как вам удалось подобрать нужные версии ноды, вебпака и зависимостей с незафиксированными версиями и чтобы все заработало.
3. Реакт-разработчиков нихуя нет на рынке, найти человека с опытом разработки на реакте - это челендж и топовый по рынку рейт. Учитывая, что реакт не дает никаких рыночных преимуществ (ни в скорости разработки, ни в поддерживаемости кода, ни в скорости загрузки и работы) - его в итоге порешает рыночек. Сегодня реакт-разработчики могут смаковать своих рябчиков, но пусть сильно не обнадеживаются.
4. 152 килобайта хеллоуворлда могут простить только в двух местах. Во-первых, тырпрайз, где все клиенты - десктоп с хорошим каналом. Но тырпрайз неповоротлив и обратит свое внимание на реакт не в ближайший год точно. Во-вторых, модненькие стартапчики с ЦА в виде зажравшихся жителей столиц, какой-нибудь очередной убер по доставке страпонов для карликовых собак. Определить такие стартапы очень просто: их жирный неповоротливый лендинг с кучей анимаций и бэкграунд-видео идеально оптимизирован под десктопный сафари, а на стандартном браузере четвертого андроида вообще не работает. Проблема здесь в том, что модные стартапчики сдохнут за год-два без финансирования, а тырпрайз со своей неповоротливостью не успеет переключиться на столь модную bleeding edge технологию, да и во всяком случае, привычных бюджетов фронтендерам он предоставить не в состоянии. Ни на какие другие бизнесы реакт натянуть не получится: мир хоть и уже не на dealup&
#39;е, но с интернетами еще много где туго. Продукт на реакте бессмысленен на любом развивающемся рынке где тотальное доминирование еще относительно дорого мобильного интернета.
Как это все можно подытожить? Пережили ember.js, переживем и react.js. Хотите компонентных вьюх - берите vue.js, где вам в придачу не впарят 172 зависимости. Мир вам и вашему фронтенду.