В чем «вкус» react?

Здравствуйте. Мой путь в веб программировании длится всего около года. Это мне интересно, но лет 5 назад, начав учить js, столкнулся с запутанностью его синтаксиса, бросил, так как была учеба основная, а времени толково все понять - не было. И вот год назад все таки желание превозбладало. Я даже полюбил js, хотя по прежнему нахожу его довольно "рыхлым". Около трех месяцев назад начал составлять резюме, потихоньку пилить различные пет-проекты, но часто натыкался на требования знания react.

Начал разбираться в нем, читал документацию, смотрел некоторые видео, сам писал код, но меня не покидает ощущение, что мой код на нем выглядит еще хуже, чем на чистом js. А самое главное - намного запутаннее. Хотя, как читал, react призван облегчить создание UI, но мне намного проще написать "по классике". Конечно, наверняка дело в неправильной архитектуре приложений, но я стараюсь побольше читать про архитектуры, паттерны и использовать это на практике. Так или иначе, я очень часто ловлю себя на мысли, что на чистом js я бы уже давно смог реализовать то, что задумал, тогда как на react я сижу и потею. Более того, я стал обращать внимание на время загрузки сайта (любого из поиска). Установил себе расширение, которое показывает, на react ли разработан сайт или нет. Так вот, спустя время стал обращать внимание на то, что сайты на react грузятся медленне и в целом ощущаются "тяжелее" обычных. Даже выработался рефлекс - заходишь куда-то, сайт медленно раскручивается, глянешь в панель расширений, ага, реактовское загорелось.

В связи с этим у меня вопрос, чем же обоснована такая популярность этой библиотеки у работодателей? Я действительно не понимаю пока многого, но на данном этапе вижу его применение только для создания SPA (коих сейчас немало, конечно). Но он все равно ощущается очень громоздским, неудобным (!), а модульность со мной сыграла злую шутку (прочитал, что хорошим тоном считается разбивать проект на мельчайшие модули, разбил свой, через пару недель (был занят и заниматься не получалось) я просто почти забыл, что от чего у меня зависит и какой модуль у меня что тянет за собой и главное куда тянет!
  • Вопрос задан
  • 866 просмотров
Решения вопроса 2
@12rbah
В связи с этим у меня вопрос, чем же обоснована такая популярность этой библиотеки у работодателей?
Если вы программируете 3 месяца то скорее всего не поймете. React или другой фреймворк изначально подразуевает то, что код хорошо делится по модулям и компонентам, что очень удобно, в обычном js нужно принимать больше усилий чтобы добиться этого. Также есть много готовых решений из коробки, которые уже были отлажены другими более опытными людьми.
а модульность со мной сыграла злую шутку (прочитал, что хорошим тоном считается разбивать проект на мельчайшие модули, разбил свой, через пару недель я просто почти забыл, что от чего у меня зависит и какой модуль у меня что тянет за собой и главное куда тянет!
Видимо вы попробовали выучить реакт за неделю, потом потом на 2-3 недели ушли заниматься своими делами и не трогали его и "внезапно" всё забыли. В целом можно писать комментарии для пояснения. Модульность как раз наоборот упрощает чтение кода и если правильно всё называть и прописывать, то в небольших проектах до 5-10к строк можно будет без проблем разобраться за пару дней тому кто не писал это код.
P.S. Возможно вам лучше выложить вопрос с сылкой на ваш проект и вам подскажут что не так вы сделали, будет полезнее.
Ответ написан
Комментировать
krdpsr
@krdpsr
реакт как и другие фреймворки создан для облегчения работы
но облегчение происходит через преодоление чудовищной дополнительной сложности
просто тебе надо пострадать и привыкнуть

если ты хочешь работать в индустрии то придется привыкнуть
если ты инди-разработчик то делай свою архитектуру и пиши код как тебе удобно
я такой разраб - и я не понимаю в чем смысл этих фреймворков

сайты действительно очень тормозные на фреймворках - но всем наплевать
главное в капиталистической индустрии - стандартный фреймворк
чтобы не зависеть от разработчика - чтобы можно было уволить любого и взять нового
в этом секрет
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
vfreelancer
@vfreelancer
php
представьте форму из 5 табов, в каждой по 15-20 полей. при изменении некоторых селектов часть полей пропадает, другие появляются, плюс какие-то селекты заполняются с сервера. плюс часть полей зависят от того, кто именно заполняет, плюс локализация, плюс валидация онлайн с проверками в бд на сервере. с реактом решение в разы легче и быстрее должно быть
Ответ написан
Комментировать
firedragon
@firedragon
Senior .NET developer
Вкус любого фреймворка в том что бы не делать лишнюю работу.
В реакте есть реативность, виртуальный виртуальный DOM, роутинг , состояния

Причем это все из коробки.
Кроме того куча разработчиков написало уже компоненты на все случае жизни.

Вот и выходит что на реакте ты в разы быстрее пишешь код. Для работодателя это выгодней хотя бы с экономической точки зрения, кстати не стоит хвататься за новый модный убивальщик любого фреймворка, скорее всего он не будет востребован

UPD
вот сравните https://qna.habr.com/q/1229430
сложность оригинального кода автора и мое решение, видно что в моем случае включается "магия"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы