Страницы

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

суббота, 4 января 2020 г.

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

#java #reactjs


Это для быстроты просто, чтобы пользователь сразу увидел HTML код?
Я так понимаю для сервера можно использовать не только NODE.JS
но и Java.

Как это будет выглядеть если проект большой? Не будет каши с java, js кода? Кто-то
видел большие проекты в такой связке?
    


Ответы

Ответ 1



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

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

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