170 похожих чатов

Всем привет! Возможно, вопрос очевидный, но хотелось бы всё-таки убедиться в

знаниях.
Я правильно понимаю, что когда данные с сервера поступают на компьютер пользователя, то
1) Это происходит порционно(у меня в данный момент в локалсторедже, без бека, хранится всё состояние приложения - данных много меньше, чем 5МБ)
2) Они также могут быть записаны в локал сторадж, чтобы оптимизировать и не запрашивать в следующий раз? Или можно и без этого обойтись, учитывая, что данных на 5МБ очень вряд ли будет?
Заранее большое спасибо!

16 ответов

19 просмотров

1) если сервер отправит весь ответ в одном запросе - то порционно не будет (ну не учитывая что это могут быть несколько пакетов по сети) 2) могут быть, т.е. кэширование, но обычно кэширование делают на стороне сервера чтобы он решал актуальные ли данные в кэше или нет, и если нет то брал свежие данные из бд. я никогда еще не встречался с кэшированием на клиенте, разве что для работы в оффлайн режиме

Никита-Владимирович Автор вопроса

будет необходима подгрузка данных. Например, как подгружаются новости в ленте ВК. Данные скорее заключаются в состоянии приложения - это все данные - и просто я не знаю, что лучше и эффективнее: оставить хранение в локалсторадже или запрос с бд. Сохранность данных в принципе не интересует, это учебный проект, но ради практики можно и попрактиковаться с бд, но если это не очень целесобразно, то другую задачу можно поставить

лента вк это другой пример, там lazy loading, вы прокурчиваете ленту, и когда доходите к концу списка, с сервера в фоне подгружаются новые посты

Никита-Владимирович Автор вопроса

Да, он меня и интересует. Я его имитировал, чтобы постоянно не подгружалось после обновления много элементов, но быть может с сервером это целесобразнее

Никита-Владимирович Автор вопроса

Я написал свой канбан(подобие трелло, jira) и всё состояние хранится в виде объекта. может быть такая ситуация, когда много карточек(колонок) есть у пользователя и в таком случае заметно лагает, поэтому имитировал. Конечная цель: в улучшении взаимодействия пользователя с приложением. Интересно узнать как лучше: сразу всё хранить/отправлять или сделать lazyloading. Если браузеру нетяжело работать с localstorage, даже если там 5МБ данных и никак не влияет на производительности, то пока оставлю вопрос

у вас сервер под этот проект есть? все данные храняться локально в локал сторедже?

Никита-Владимирович Автор вопроса

У меня нет сервера. Все данные локально в локал сторадже хранятся

если вы храните весь объект одной записью в локал сторедже, то вам все равно прийдется грузить все состояние в память за раз

Индекс дБ возьми

Никита-Владимирович Автор вопроса

Там несколько объектов. То есть, если несколько объектов, то можно и оптимизировать, присылая каждый раз разные объекты?

А смотря как и что ты делаешь Мы же не ванги Ты же на каждый чих просишь километровый объект и суёшь и читаешь

Никита-Владимирович Автор вопроса

Не знал про такое, поизучаю

Или читать один раз А представить что стейт актуален В фоне ложить в тот же Локал сторадж Не должно лагать

Никита-Владимирович Автор вопроса

Если бы это был сервер, было бы достаточно одной загрузки. Ну и при изменении стейта отправляются данные на сервер. Повторное посещение сайта - снова загрузка в локал. В моём случае - я пользуюсь сайтом и по мере изменения стейта он перезаписывает в локалсторадж.

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
10
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
Карта сайта