使用Google Cloud Functions可以避免Firebase数据库逻辑重复吗?

时间:2017-07-18 00:15:06

标签: firebase architecture firebase-realtime-database google-cloud-functions

为避免在各种应用程序(iOS,Android,Web)中重写Firebase数据库逻辑,我们之前使用服务/中间层来保存此逻辑。通过这种方式,应用程序永远不会直接与DB交互。 但是,在使用Firebase和Google Cloud Functions的新架构中,通过云功能路由所有数据库调用是否明智,还是应该根据用例选择性地进行?

在我到目前为止看到的几乎所有示例中,应用程序都直接与Firebase数据库交互,而云功能仅用于侦听某些事件并有选择地使用。它们并不意味着是中间层。 然而,这种方法会导致需要在所有应用程序中复制DB逻辑。可以避免这种代码重复吗?

1 个答案:

答案 0 :(得分:0)

是。通过将应用程序代码中的某些功能移动到云功能中,您只需实现一次该逻辑:在JavaScript中。这对于您在客户端上不想要的某些逻辑非常有用(太大,太秘密,太慢等)。

可是:

  • 每个客户端仍需要代码才能访问云功能中的功能。这可以像通过Database SDK进行编写一样简单,但也可以非常复杂。
  • 仅当用户具有网络连接时,该功能才可用。与客户端功能不同,当用户断开连接或离线时,它将无法工作。