Облачные функции Firebase против мобильного SDK Firebase - PullRequest
0 голосов
/ 22 февраля 2019

Я планирую использовать Firebase Cloud Firestore для моего родного приложения для iOS и Android.Мне интересно, какой подход имеет больше смысла:

Вариант 1) Используйте встроенный SDK Firebase для iOS и Android для добавления данных

или

Вариант 2) Используйте функции облака (nodejs)) добавить данные и представить их как API REST для устройств iOS и Android для их вызова.Будет ли это легче поддерживать?

В iOS:

// Add a new document in collection "cities"
db.collection("cities").document("LA").setData([
    "name": "Los Angeles",
    "state": "CA",
    "country": "USA"
]) { err in
    if let err = err {
        print("Error writing document: \(err)")
    } else {
        print("Document successfully written!")
    }
}

В Android:

Map<String, Object> city = new HashMap<>();
city.put("name", "Los Angeles");
city.put("state", "CA");
city.put("country", "USA");

db.collection("cities").document("LA")
        .set(city)
        .addOnSuccessListener(new OnSuccessListener<Void>() {
            @Override
            public void onSuccess(Void aVoid) {
                Log.d(TAG, "DocumentSnapshot successfully written!");
            }
        })
        .addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Log.w(TAG, "Error writing document", e);
            }
        });

В Node.js

var data = {
  name: 'Los Angeles',
  state: 'CA',
  country: 'USA'
};

// Add a new document in collection "cities" with ID 'LA'
var setDoc = db.collection('cities').doc('LA').set(data);

1 Ответ

0 голосов
/ 22 февраля 2019

Зависит от того, какой из них вам больше подходит.Однако использование встроенного SDK Firebase Cloud Firestore обеспечит вам прямое клиентское подключение к серверу, где вы будете напрямую взаимодействовать с API.Учебники хорошо документированы как для Android, так и для iOS.В противном случае вам придется предоставить функцию HTTP Cloud, которая будет запускаться каждый раз, когда вы захотите выполнить взаимодействие с базой данных.

Также имейте в виду, что облачные функции имеют собственное время выполнения и задержки, основанные на Memory allocation.Это означает, что использование прямого SDK Firestore намного быстрее, чем прохождение через облачную функцию, и вы также можете отлавливать возможные ошибки непосредственно из приложения, а не читать журналы облачной функции.

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