2017-10-11 5 views
0

ユーザーにRegisterLoginUpdate Account InfoPost (Each post contains a short message with 1500 chars or less and/or up to 9 images)およびDownload Postsを許可するネイティブアプリを書く。クラウド機能を使用せずにこれらのタスクをすべて実行できますが、どちらのアプローチが優れているのか、またその理由は?例えばhttpリクエストごとにfirebaseクラウド機能を使用する必要がありますか?

は、Set user's account infoに、私は私のアプリではこのような何かを行うことができます:

firebase.database().ref(`users/${uid}`) 
         .set({ 
          firstName: 'Stack', 
          lastName: 'Overflow' 
         }); 

または私は単に私ができる、firebaseクラウド機能と、私は、ユーザーのアカウント情報を設定するたびに書くことができますが次のようなことをしてください:

const SET_ACCOUNT_URL = 'https://firebase.set_account_url.com'; 
    axios.post(SET_ACCOUNT_URL, { 
     firstName: 'Stack', 
     lastName: 'Overflow' 
    }) 
    .then(() => ...Do Something Here...) 
    .catch((error) => console.log(error)); 

どちらの方法が優れているのですか?

答えて

3

多くはスケールによって異なります。あなたが自由な計画の限界の中にとどまっているならば、空は限界です。大規模で作業しているならば、RTDBへの帯域幅と機能の呼び出しを支払うことになりますが、これは余分なものになる可能性があります。

ユースケースを知らなくても何が役立つのかを予測することは難しいsee XY problem

一般に、後で関数を追加するには、DB書き込みからトリガーすることができます。だから、書き込みがあれば、それだけで十分です。その後、その書き込みからイベントをトリガーして、必要なアクションを実行することができます。

独自の機能(商標アルゴリズムやセキュリティゲームロジックなど)を非表示にする必要がある場合は、関数を使用します。あなたがそのデータの計算を行っていることがわかっている場合、またはDBイベントによってトリガできない場合は、関数を使用してください。

データベースに到達しようとしていて、アクセスが制限されている場合は、DBに書き込み、security rulesを使用してください。

+0

ありがとう、私はそう思ったが、確かにしたいと思った。これは非常に役に立ちます! –

関連する問題