Недавно я придумал, как улучшить общую производительность для веб-приложение, в котором вместо создания готовой к показу html-страницы с веб-сервера, почему бы не позволить ей полностью сгенерировать на стороне клиента. При этом в браузер нужно отправлять только чистые данные (в моем случае это данные в формате JSON). Это разгрузит работу по генерации html с сервера на браузер клиента и уменьшить размер ответного пакета, отправляемого пользователям.
После некоторого исследования я обнаружил, что этот фреймворк (http://beebole-apps.com/pure/) делает то же самое, что и мой.
Я хочу знать плюсы и минусы этого способа. Это, безусловно, быстрее и лучше для веб-серверов, а с современным браузером код Javascript может работать быстро, поэтому создание страниц может выполняться быстро.
Обратной стороной этого метода, вероятно, является SEO. Я не уверен, что поисковые системы, такие как Google, правильно проиндексируют мой сайт. Не могли бы вы рассказать мне о недостатках этого метода?
Ps: Я также приложил пример кода, чтобы помочь описать метод следующим образом:
В заголовке простой код javascript будет записан следующим образом:
<script type='javascript' src='html_generator.js'/>
<script>
function onPageLoad(){
htmlGenerate($('#data').val());
}
</script>
В теле существует только один элемент, используемый просто как контейнер данных следующим образом:
<input type='hidden' id='data' value='{"a": 1, "b": 2, "c": 3}'/>
Когда браузер отображает файл, будет вызвана функция htmlGenerate, которая находится в html_generator.js, и вся html-страница будет сгенерирована в эта функция. Обратите внимание, что файл html_generator.js может быть большим, поскольку он содержит множество шаблонов html, но, поскольку его можно кэшировать в браузере, он будет загружен один и только один раз.