2016-11-06 21 views
4

Кто-нибудь внедрил родное приложение с Firebase с полными автономными возможностями в Android/iOS?Firebase автономные возможности в ionic/cordova

Это можно сделать в Cordova/Ionic с плагином, который использует родные SDK Firebase?

Мы создаем приложение, которое имеет соединение при загрузке и первом запуске, но затем мы должны предположить, что больше нет подключения к интернету, и все содержимое из базы данных должно быть доступно в автономном режиме. Является ли Firebase подходящим для этого требования или мы должны использовать CouchDB/PouchDB или любую другую альтернативу?

ответ

2

Вы можете использовать следующий проект - AngularFire2-offline

Его цель заключается в обеспечении автономного доступа к данным для поддержки браузеров (который поддерживает работников сервиса) - List of browsers (and matching versions) that support service workers

Он работает таким образом -

  • В режиме онлайн данные Firebase хранятся локально (при изменении данных локальное хранилище)
  • В автономном режиме локальные данные обслуживаются, если они доступны, а записи хранятся локально.
  • При повторном подключении обновляются обновления приложений с новыми данными Firebase и записью в Firebase
  • Даже в режиме онлайн локальные данные сначала используются, когда доступны приводит к более быстрой нагрузке
+1

Спасибо за этот ответ. Существует также связанный учебник: https://javebratt.com/offline-angularfire2/ – chris08002

4

В их JS SDK нет реальной «автономной» поддержки для firebase. Внедренное решение, которое у них есть прямо сейчас, означает, что у вас будет автономная поддержка, если вы потеряете интернет-соединение, и если соединение будет «онлайн», данные синхронизируются. НО, если вы закроете приложение перед выходом в интернет, ваши «автономные» данные будут потеряны.

Это плагин firebase от Cordova https://www.npmjs.com/package/cordova-plugin-firebase, но он еще не поддерживает базу данных реального времени. вы можете попробовать и расширить это, если хотите.

Если у вас должна быть автономная поддержка, я предлагаю вам использовать SQLite или CouchDB/PouchDB, о которых вы упомянули.