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