Статьи

Автономная поддержка в Firebase, действительно мобильном хранилище данных?

После приобретения Google Firebase продолжает развиваться в мощную платформу для создания веб-приложений и мобильных приложений.

Недавние объявления компании от команды Firebase касались структуры их цен, которая сильно изменилась. В прошлом некоторые, возможно, находили Firebase слишком дорогим, сейчас он значительно дешевле. В результате этого снижения стоимости, наверняка, будет куча классных проектов, использующих возможности Firebase в реальном времени. Более интересная для разработчиков, команда разработчиков Firebase объявила о полной автономной поддержке платформы на ежегодной конференции Google I / O в мае. В этом уроке я собираюсь выяснить, насколько полезны и полезны новые функции.

Мобильная мыслящих

Намерения команды Firebase относительно мобильной разработки были ясны с самого начала. Они понимают, насколько важен мобильный опыт пользователя, и постоянно учитывают это при разработке своей технологии. Благодаря автономной поддержке разработчики из Firebase понимают, что устройства теряют свой сетевой сигнал один раз, если не несколько раз в течение дня.

Команда считает, что данные из приложения должны сохраняться даже при отключении. Они считают, что если вы потеряли сервис, вы не должны терять свои данные. Помня об этом, они разработали Firebase, чтобы данные приложения сохранялись в ситуациях, когда обслуживание прерывается.

Автономная синхронизация данных через локальный экземпляр Firebase

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

Чтобы активировать автономную поддержку SDK Firebase для Android и iOS, добавьте следующий код в свое приложение.

IOS

[Firebase defaultConfig].persistenceEnabled = YES; 

Android

 Firebase.getDefaultConfig().setPersistenceEnabled(true); 

Определяя это в своем приложении, вы говорите Firebase сохранить все ваши данные.

Firebase включил новую функцию keySynced с выпуском автономной поддержки. При keySynced true keySynced может предварительно keySynced определенные данные из вашего приложения.

Следующие примеры включают эту функцию.

IOS

 [ref keepSynced:YES]; 

Android

 ref.keepSynced(true); 

При добавлении в ваше приложение Firebase позволяет разработчикам указывать данные, которые они хотят, чтобы пользователи имели доступ к этой функции.

Возможности автономного JavaScript

Firebase также добавил функциональность в JavaScript API. Важно отметить, что автономная поддержка JavaScript API предназначена главным образом для управления присутствием пользователя. Firebase предоставляет местоположение для разработчиков JavaScript, расположенных по адресу .info/connected явно используемых для обнаружения присутствия пользователя. При использовании это расположение будет возвращать логическое значение и сообщать разработчикам, подключен клиент или нет. Ниже приведен пример того, как можно использовать эту папку /.info/connected .

 var connectedRef = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com/.info/connected"); connectedRef.on("value", function(snap) { if (snap.val() === true) { alert("connected") } else { alert("not connected"); } }); 

Исходя из этого, разработчики могут регистрировать информацию о соединении в зависимости от этих значений. Firebase предоставляет класс onDisconnect , который позволяет разработчикам определять конкретные действия, которые должны произойти в случае потери соединения. Класс onDisconnect можно использовать со следующими методами:

  • set()
  • remove()
  • update()

В сочетании с onDisconnect эти методы позволяют нам записывать или onDisconnect различные данные из приложения, когда пользователь теряет соединение. Ниже я разместил некоторый код, который показывает использование метода onDisconnect для регистрации времени потери соединения. В результате отметка времени будет отправлена ​​в /lastConnected как только клиент отключится от Firebase.

 var lastConnectedRef = new Firebase("https://.firebaseio.com/users/joe/lastConnected"); lastConnectedRef.onDisconnect().set(Firebase.ServerValue.TIMESTAMP); 

Вывод

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

Не стесняйтесь комментировать ниже, если у вас есть какие-либо вопросы, и я свяжусь с вами как можно скорее.