Вопрос скорее теоретический, чем практический, чтобы удовлетворить мое любопытство.Мне кажется, что для разработки веб-приложений у вас есть два варианта:
- Рендеринг на стороне сервера :
- Сервер извлекает некоторую информацию из базы данных, генерируетnew DOM , сериализует новый DOM в HTML и отправляет его клиенту.
- Клиент десериализовал HTML в новый DOM.Новый DOM заменяет старый DOM.
- Рендеринг на стороне клиента :
- Сервер извлекает некоторую информацию избазы данных, сериализует ответ в (например) JSON.
- Клиент десериализует JSON, генерирует новый DOM.Новый DOM согласован с новым DOM.
Помимо очевидного различия данных, сериализуемых в HTML и JSON, другое важное отличие состоит в том, чтоэтот рендеринг на стороне сервера заменяет старый DOM, а не согласовывает его.Это кажется мне единственным существенным недостатком рендеринга на стороне сервера, так как это заставляет пользователей смотреть на мерцающий экран.Я почти предположил бы, что это единственная главная причина, почему веб-разработка вообще перешла на рендеринг на стороне клиента.
Существуют ли какие-либо подходы, которые выполняют рендеринг на стороне сервера с согласованием на стороне клиента?