Запутался по front-end разработке

172
04 октября 2018, 04:20

Вопрос будет большим и очень запутанным, изучаю front-end разработку а именно техн. стэк (Html,Css,Js,Jquery,React,Node.js). Я сам бэк-энд(Spring) и Андроид-разработчик.Запутался в стэкэ а именно :

1 ) Существует ли React вне nodeJs? Хотел изучить React но все что я нашел это то что я должен обязательно установить node сервер.А если я хочу использовать react для статического сайта который не взаимодействует с сервером.Неужели нельзя реакт использовать как . jQuery ?

2 ) Что за архитектура в веб разработке?

Почему не используется сервис на которые идёт запрос и откуда получается ответ, а тут сразу на сайт пвиливается nodeJs и оттудаже доступ к Бд , ведь если для телефона будет писаться клиент все-равно нужен будет сервис ,почему он на прямую подключаются без сервисов ?

Answer 1

Вы все не правильно поняли

Хотел изучить React но все что я нашел это то что я должен обязательно установить node сервер

Это не совсем так, nodejs нужен, но не обязательно. React использует jsx для описания верстки компонентов, это почти как html, но со своими приблудами, которые обычный браузер не понимает. Поэтому в первую очередь код React-компонента нужно преобразовать. За этим и нужен nodejs, он используется в качестве инструмента, который на вход получает jsx, а на выходе отдает валидный js. Пример jxs:

<div>Hello, {user}</div>

Но вы так же можете писать React-компоненты и на чистом js, используя helper-ы ( который по сути используются для расшифровки jsx ). Без jsx:

// может сейчас чуть по другому, но суть та же
React.createElement('div', null, 'Hello, world')

Зачем это нужно?

Все дело в том, что сам парсер jsx весит N байт, которые пользователю не очень то и нужны, поэтому у вас встает выбор, либо вы делаете всю работу на клиенте ( загружаете туда парсер jsx, парсите им ваш код, и только потом собираете приложение )

Либо же, вы делаете это все на сервере, во время разработки, а клиенту отдаете только готовые минифицированные данные

Почему не используется сервис на которые идёт запрос и откуда получается ответ, а тут сразу на сайт пвиливается nodeJs и от туда же доступ к Бд

Не понятно откуда вы это взяли, но nodejs не попадает клиенту в браузер. Может работать как сервер или вы имели в виду ssr? Ну, так это просто механизм преждевременной "компиляции" вашего приложения. То есть кроме того, что бы транспилировать (jsx > js ) ваш react-код, nodejs еще и выполнит первоначальный рендерениг всего приложения ( по умолчанию это делает браузер ). Тем самым клиенту отдастся уже готовый html, который отрисуется быстрее, чем если бы рендеринг происходил в браузере

READ ALSO
Поддержка viewport-fit=cover в chrome на iOS

Поддержка viewport-fit=cover в chrome на iOS

Поддерживает ли viewport-fit=cover chrome в iOS ?

130
C# SslCredentials и защита данных при использовании gRPC

C# SslCredentials и защита данных при использовании gRPC

При использовании gRPC (новая технология от google, которая по своей сути является следующим витком развития REST) пытаюсь использовать root certificate...

192
Сохранение файлов Cookies в ChromiumWebBrowser

Сохранение файлов Cookies в ChromiumWebBrowser

При установке значения CefSettingsCachePath я логично наблюдаю появление в указанной директории кучи файлов представляющих разные журналы логирования...

172