Обновляемое автономное хранилище / база данных - PullRequest
0 голосов
/ 30 мая 2018

В настоящее время я пытаюсь выучить nativescript, и для этого я подумал о создании приложения вроде ' Anki '

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

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


У меня еще нет кода, поэтому было бы неплохо дать рекомендации о том, как это решить.

1 Ответ

0 голосов
/ 30 мая 2018

Существует несколько методов в NativeScript, которые вы можете использовать:

  • NativeScript-Sqlite (заявление об отказе: я автор). Это обеспечивает полный доступ к Sqlite длясохранение и загрузка предметов;у вас может быть столько баз данных, сколько вам нужно, и Sqlite работает очень быстро.Самый большой недостаток Sqlite - скорость записи;если у вас много записи, это может быть медленнее, чем просто запись в файл самостоятельно.

  • NativeScript-LocalStorage (еще раз отказ от ответственности: я автор)Это больше ориентировано на меньшие размеры данных;например, когда приложение запускается и сохраняет его, оно должно загрузить в память все хранилище данных с поддержкой json.Это действительно быстро для всех;но не то, что вы хотите использовать для десятков тысяч записей.

  • NativeScript-Couchbase Это использует sqlite для локального хранилища и может использовать couchbase для удаленного хранилища;очень удобно иметь синхронизируемое хранилище - couchbase может быть вашим собственным сервером или арендованным или арендованным сервером.

  • NativeScript-Firebase Это также очень полезно при наличии синхронизируемого хранилища;однако Google взимает плату за FireBase в определенный момент.

  • Встроенные настройки приложений.Это действительно разработано для нескольких настроек приложения, а не для большого количества данных.Но полезно для небольших объемов данных.

  • Роль своей собственной в файловую систему.Я сделал это в нескольких моих проектах;в основном гибрид между моим плагином localstorage и системой типа mini-sql.Один проект сильно зависел от записи, поэтому имело больше смысла генерировать около 20 отдельных файлов на телефоне для каждой таблицы, потому что я мог сохранить их гораздо быстрее, чем вставлять / заменять> 100 000 записей каждый раз, когда приложение запускалось в sqlite.Имел минимальные потребности в поиске.

Ваше хранилище действительно должно зависеть от того, что вы делаете;это уравновешивающий акт.Много доступных для поиска данных;sqlite выигрывает почти во всех случаях.Много частых писем;то, что вы создаете, может быть намного быстрее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...