У меня возникают трудности с установкой подхода к загрузке дополнительных данных в приложение, которое я создаю. Приложение представляет собой CMS, в котором одна страница состоит из множества фрагментов – некоторые повторно используемые, другие – эксклюзивные.
Примером исключительного фрагмента может быть метатег описания / автора, тогда как фрагмент многократного использования может быть списком ссылок.
Мой текущий подход состоит в том, чтобы загрузить основные данные, составляющие основную часть страницы, например, содержимое основного тела, заголовок, пул, даты (публикация / выдержка / изменение). После того, как эта часть загружена и ui готов, я загружаю 2 дополнительных набора данных: набор метатегов; сбор фрагментов.
Мои предложения: 1. Масштабируемость 2. Скорость 3. Поддержание работоспособности
Подходит ли мой подход или я должен рассмотреть другой подход?
Я предполагаю, что вы используете AJAX для ленивой загрузки, упомянутой выше.
Подходит ли ваш подход? Ответ на ваш вопрос зависит от того, насколько быстро загружается вся страница (включая фрагменты). Ваша техника используется, когда мы хотим создать восприятие страницы, загружается, так что пользователю психологически не хочется ждать,
Этот метод используется, когда вся страница считается слишком длинной для загрузки. Поскольку меры «слишком долго загружаться» являются субъективными, рассмотрим, например, 8 секунд. Если на всю страницу требуется 8 секунд для загрузки, а частичная страница, например, основной корпус, и т. Д. Занимает 3 секунды, то разумно сначала загрузить эту часть, чтобы пользователь психологически не чувствовал себя ожидающим 8 секунд.
Что касается ваших 3 критериев:
Масштабируемость: ленивая загрузка увеличит количество обращений к серверу на http-серверах и, таким образом, добавит дополнительные нагрузки с точки зрения количества вызовов на сервер, а также возможность одновременного использования количества одновременных подключений. Таким образом, ленивая загрузка приводит к дополнительным нагрузкам на серверы. Однако, если ваша среда развертывания сгруппирована правильно, она не должна вызывать серьезных проблем для вас.
Скорость: Это относится к тому, что я сказал раньше. Если вся ваша страница загружается очень быстро, тогда ленивая загрузка фрагментов может фактически замедлить ее (с точки зрения общего количества секунд), поскольку вы делаете дополнительные HTTP-вызовы на сервер. В этом случае вы также не помогаете восприятию пользователей. Однако, если скорость загрузки всей страницы длинная, то техника имеет смысл, поскольку она улучшает восприятие пользователем скорости, даже общее время загрузки по скорости, вероятно, больше.
Поддержание работоспособности: хорошая реализация позволит выбирать между загрузкой всей страницы и фрагментами несколькими простых кодов. Это означало бы, что вы написали удобный и гибкий код.