• XSS.stack #1 – первый литературный журнал от юзеров форума

нужно ли учить react js и где он пригодиться ?

qpq512

RAID-массив
Пользователь
Регистрация
25.08.2021
Сообщения
58
Реакции
10
Здравствуйте , на данный момент очень вяло вливаюсь в веб разработку, знаю html, css, js/jQuery(пока поверхностно , но улучшаю свои знания).
Иногда смотрю вакансии и статьи про frontend/fullstack разработчиков и везде пишут учить reactи другие похожие фреймворки , пробежавшись по теме и официальному руководству ,я нечего особо и не понял, везде очень размытые и непонятные формулировки , может ли кто нибудь ответить все таки на мой , наверное тупой вопрос, зачем нужен этот ваш react js и как его правильно учить ?
Заранее спасибо
 
Здравствуйте , на данный момент очень вяло вливаюсь в веб разработку, знаю html, css, js/jQuery(пока поверхностно , но улучшаю свои знания).
Иногда смотрю вакансии и статьи про frontend/fullstack разработчиков и везде пишут учить reactи другие похожие фреймворки , пробежавшись по теме и официальному руководству ,я нечего особо и не понял, везде очень размытые и непонятные формулировки , может ли кто нибудь ответить все таки на мой , наверное тупой вопрос, зачем нужен этот ваш react js и как его правильно учить ?
Заранее спасибо
Откроет тебе дорогу к мобилкам.....
Учить модно по книгам или курасам...
А вообще найди какойго нибудь ютубера у которого в гостях был програмист на реакте
 
Самый главный вопрос - Зачем он нужен этот ваш реакт?

Модульность (На мой взгляд это очень важный пункт)
Когда далаем довольно сложную систему, то очень легко потеряться в коде.

Я бы привел в пример платежную систему (именно ее фронт).
Попробуйте создать поля ввода карты на чистом JS. С правильной валидацией, визуальным разбиением СС на блоки по 4, ограничения по минимальной длинне имени холдера, обработкой ошибок etc
На чистом JS (или JQuery) вы скорее всего умрете, либо напишете неподдерживаемую кашу.

На помощь приходит React, в котором можно разбить сложный проект на маленькие куски. Поле ввода CC - это один элемент. У него свои правила валидации, свои обработчики ошибок и прочее. Поле ввода CVV это отдельный элемент, у него свои обработчики, правила и тд. В результате имеем независимые элементы, которые в дальнейшем можем еще и переиспользовать в других местах (это ли не чудо?). Кст, элементы настолько независимы, что можно (и порой это необходимо) указывать css стили конкретно для этого элемента. И такие изменения не сломают итоговый результат.

И на верхнем уровне мы получаем довольно лакончиную структуру, которая глобально описывает элементы на странице. При этом логика элементов вынесена в сами элементы (это же логично!)
А после сборки получаем обфусцированный бандл, в котором все это собрано воедино.

Так же модульность позволяет разбить цельную страницу на разные команды с разными зонами ответсвенности. Разумеется в платежке этого делать не стоит, но бывают же проекты и сложнее :))

Далее стоит поговорить о SPA, у такой архитектуры тоже есть свои приемущества, но это уже совсем другая история
 
Основные фишки React js:
  1. JSX
  2. Виртуальный DOM
  3. Компонентный подход
  4. Возможность интеграции с фреймворками( Vue, Angular и тд)
  5. Возможность писать приложения под мобильные платформы
  6. Возможность создания SPA

JSX - синтаксический сахар в реакт. В файлах с этим расширением появляется возможность использовать синтаксис html прямо в js коде:


jsx.png


в примере переменная "forum" использует эту возможность, без jsx писать синтаксис html можно было бы только после "return"

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

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

Возможность интеграции с фреймворками - у реакта есть особенность - это не фреймворк, а легковесная библиотека, за счет этого его можно встроить в фреймворки

Возможность писать приложения под мобильные платформы - существует такая технология, как React Native, которая позволяет создавать кроссплатформенные мобильные приложения

Возможность создания SPA - у react есть множество дополнительного внутреннего функционала, одним из которых является создание SPA. SPA - одностраничный сайт, на котором при переходе в другой каталог не происходит смена страницы, вместо этого на одной и той же странице динамически изменяется контент

Итог: react - отличная библиотека для отрисовки пользовательского интерфейса, которая обеспечивает безопасность, оптимизацию, предоставляет дополнительный функционал и удобство при разработке сайтов и приложений. Изучать эту библиотеку или нет сможешь решить сам, исходя из всего, что было написано выше и возможно будет ниже
 
Последнее редактирование:
Идея реакта в том, что ты можешь управлять данными, которые содержат состояние твоего приложения, а все обновления dom делает уже реакт.
Кроме этого реакт немного стандартизирует стиль написания приложения, что позволит тебе продуктивно читать чужой код с более высокой вероятностью. Код на голом жс может быть написан вообще как угодно.
У него еще много нюансов и особенностей, мне нравится реакт)
 
Идея реакта в том, что ты можешь управлять данными, которые содержат состояние твоего приложения, а все обновления dom делает уже реакт.
Кроме этого реакт немного стандартизирует стиль написания приложения, что позволит тебе продуктивно читать чужой код с более высокой вероятностью. Код на голом жс может быть написан вообще как угодно.
У него еще много нюансов и особенностей, мне нравится реакт)
от такого объяснения сам Дэн Абрамов впал в ступор
 
React , Vue и прочие фреймворки приходят когда есть разделение на фронтенд и бакенд . Это важно понимать . Часть js кода выполняется у клиента в браузере а сервер отвечает за сохранение и работу с данными .
И да , возможность делить на компоненты -это удобно , особенно делегировать между фронтендами и бакендом ..но без правильной постановки задачи -превращается в ад ..
 
когда есть разделение на фронтенд и бакенд
Странный тезис, учитывая, что в вебе оно есть всегда. Даже если мы говорим о каком-нибудь лендинге, на нем все равно будет форма сбора данных для формирования лидов.
 
В 2022 советовал бы посмотреть на Flutter (ЯП Dart)
Полная кроссплатформа (ios, android, windows, linux, mac) + web (на выходе JS). Один код под все платформы (если дело, конечно, не касается специфических API платформ). Для fronta лучшее решение
Поддержка pc еще такая себе, но все очень быстро развивается ;)
Мобилки + web работают отлично. Если брать разработку под мобилку, то react (native) вообще не конкурент
 
В 2022 советовал бы посмотреть на Flutter (ЯП Dart)
Полная кроссплатформа (ios, android, windows, linux, mac) + web (на выходе JS). Один код под все платформы (если дело, конечно, не касается специфических API платформ). Для fronta лучшее решение
Поддержка pc еще такая себе, но все очень быстро развивается ;)
Мобилки + web работают отлично. Если брать разработку под мобилку, то react (native) вообще не конкурент
а что касательно seo, ssr, интеграции с фреймворками, виртуального dom и прямого взаимодействия с ним, которые flutter успешно обошел? Учись читать вопрос, попросили объяснить зачем нужен react js и как его учить, а не раздавать советы, что лучше, а что хуже
 
React позволяет быстро создавать достаточно сложные приложения, за счёт высокого уровня абстракции и обширнейшей экосистемы.

Вместе с Redux, Saga и Material UI можно создавать такое, нативный код чего был бы громаден и пугал бы до безобразия.

Учится достаточно просто, но начать стоит с ванильного JavaScript. Если в нем разобраться, то фреймворки и библиотеки пугать не будут.

По поводу как выучить: Для того чтобы научится решать задачи, нужно их решать. Напиши какое нибудь одностраничное приложение по типу TODO или почтового клиента. Чем больше будешь работать тем проще будет.

Актуальность у React высокая. Если цель устроился разработчиком в компанию, то не прогадаешь.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
быстро создавать достаточно сложные приложения
Ты немного ошибся, быстро - не быстро. В сухую сверстать без фреймворков и натянуть какой нибудь jquery было бы быстрее. Фишка реакта в том - что это вклад в будущее. Вклад в простоту будущей поддержки проекта. Ты можешь быстро написать проект БЕЗ реакта, но замучаешься его потом поддерживать, или один раз но чуть дольше на реакте, но поддерживать будет одно удовольствие. Хотя тут уже как напишешь
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх