我想知道用firebase函数创建一些其余端点而不是在客户端上处理所有事情是否是一个好主意。我将为更复杂的查询创建端点,在其中为集合中的每个文档加载文档并将其返回到一个大json对象中。
这种方式的主要优点是,我不需要为每个应用程序编写代码(在我的情况下是Flutter应用程序和Vue Web应用程序)。
但是,除了数据库成本外,我还必须为功能付费。在客户端上执行所有操作时,我将节省功能成本。但是我还无法估计会达到多少。
使用函数而不是在客户端上做相同的事情时,市长有什么区别吗?
还有其他(不利)优势吗?
答案 0 :(得分:1)
使用Cloud Functions封装应用程序代码中的一些更复杂的逻辑非常普遍。
优点是,您只需要编写一个平台的代码(无论您在Cloud Functions中运行的哪种语言),都可以更新代码而不必告诉用户更新应用程序。对于某些情况,当您不必推理所有客户端一次访问您的数据库时,这绝对简单。
缺点是调用Cloud Functions要求客户端在线。如果客户端本身具有调用逻辑,则它也可以在客户端没有Internet的情况下运行。
我个人很喜欢使用数据库(Firebase实时数据库或Cloud Firestore)作为客户端和Cloud Functions后端之间的媒介。因此,我的客户端写入数据库,然后触发云功能。 Cloud Function将结果写入客户端侦听的数据库。这样,我就获得了一些数据库SDK的脱机处理功能以及Cloud Functions的其他好处。