2017-02-20 10 views
0

У меня есть вопрос относительно дизайна/архитектуры приложения Ionic2, хотя это может быть связано с любым родным приложением.Лучший вариант для сохранения информации Ionic 2 на сервере с http?

Я разрабатываю приложение, в котором пользователю нужно много взаимодействовать (это игра, на самом деле), поэтому мне нужно сохранить статус, параметры и многое другое. На данный момент у меня есть API Rest, поэтому каждый раз, когда информация пользователя обновляется, я вызываю API для сохранения информации через http. В то же время, чтобы получить статистику других пользователей и информацию, мне также нужно получить эту информацию от API, поэтому я делаю это каждый раз, когда пользователь выбирает соответствующий экран.

Я предполагаю, что это не очень эффективно, поэтому я хочу использовать Storage from Ionic для использования локального хранилища и сохранять или читать только HTTP-API, когда пользователь входит в приложение или уходит.

Вопрос в том, хорошая стратегия? Я вижу недостатки в обоих. Как узнать, что пользователь оставил приложение? Он мог просто измениться на другую задачу в своем телефоне, и приложение действительно было бы живым.

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

Благодаря

+0

https://www.joshmorony.com/offline-syncing-in-ionic-2-with-pouchdb-couchdb/ может помочь – misha130

ответ

0

Всякий раз, когда API называется, данные подписки на «переменной», которая хранится в памяти, а не хранения. Как только пользователь выйдет из приложения/очистит ОЗУ, эта информация будет очищена. Не беспокойтесь о поиске данных из HTTP-REST, если он не очень большой.
Как вы просили, стратегия, которой вы следуете (НЕ используя локальное хранилище), верна.

И приход к эффективности, Все, что отображается в режиме просмотра из памяти (ОЗУ), при извлечении данных с удаленного сервера данные хранятся непосредственно в памяти, к которой можно получить доступ в режиме «Супер скорость».

Но когда вы храните в хранилище (LocalStorage или что-то еще), он должен быть доставлен в ОЗУ с карты памяти/InternalStorage мобильного телефона для доступа к данным.

По моим данным, получение данных HTTP REST эффективно, когда вы извлекаете небольшие пакеты данных, когда это необходимо, но DONT извлекает все данные за раз.

Надеюсь, это поможет!

+0

Спасибо, проблема не в том, насколько она эффективна, но что приложение должно быть способно работать без подключения, а затем синхронизировать, когда это возможно, поэтому я должен использовать хранилище. – David