Страницы

Поиск по вопросам

пятница, 1 февраля 2019 г.

Зачем использовать серверный рендеринг React.JS компонентов?

Это для быстроты просто, чтобы пользователь сразу увидел HTML код? Я так понимаю для сервера можно использовать не только NODE.JS но и Java.
Как это будет выглядеть если проект большой? Не будет каши с java, js кода? Кто-то видел большие проекты в такой связке?


Ответ

Это для быстроты просто, чтобы пользователь сразу увидел HTML код?
Да, в основном, это делается для того чтобы сократить время отрисовки начальной старницы. Дело в том, что страницы приложений построенных с использованием React содержат мало HTML и грузят много javascript кода. После загрузки javascript страница, как привило, загружает данные с сервера и после этого, собственно, отрисовывает страницу (Отрисовка, кстати, не самая быстрая операция). Пока javascript не загружен и данные не получены, пользователь будет видеть пустую страницу. С другой стороны, если сервер отдает готовую страницу, то во первых, создается впечатление что страница грузится быстрее, а во вторых, можно сэкономить на одном или нескольких запросах к серверу, так как все необходимые данные уже загружены. Стоить иметь ввиду, что броузер все равно будет грузить javascript, и после загрузки React создаст виртуальный DOM страницы, но поскольку он совпадет с кодом сгенерированной страницы то никаких изменений React делать не будет (не надо перерисовывать страницу). В худшем случае часть страницы может изменится после загрузки обновленных данных, но обычно, это не заметно для польователя.
Есть мнение, что сервер может генерировать страницы быстрее чем браузер но я думаю это зависит от того какой сервер и какой компьютер у пользователя. В любом случае преумуществом генерации страницы на сервере будет возможность кеширования страницы сервером, что позволит отдавать ее практически моментально.
Не будет каши с java, js кода
Нет не будет, хотя добавит немного сложностей. Но тут уж ничего не поделаешь, или быстро или сложно.

Комментариев нет:

Отправить комментарий