Firebase和后端逻辑

Alo*_*lon 31 node.js firebase

我是parse.com用户,现在我寻找另一项服务.如何将结束逻辑写回firebase?

假设我要验证服务器端的所有值,或触发事物.我想过一个解决方案,但我想知道推荐的方法.

我想

  1. 创建使用express的nodejs服务器.
  2. 创建中间件来处理逻辑.
  3. 从应用程序发送休息请求,触发中间件
  4. 使用firebase的nodejs sdk根据http请求的参数更新值.
  5. 并在应用程序firebase处理程序上实现侦听更改

在此输入图像描述

他们的事情更简单?在解析中我使用了云代码,我希望逻辑不会在客户端,而是在服务器端.

Fra*_*len 42

更新(2017年3月10日):虽然我在下面概述的架构仍然有效且可用于将Firebase与任何现有基础架构相结合,但Firebase刚刚发布了Firebase的云功能,允许您在Google服务器上运行JavaScript功能以响应Firebase事件(例如数据库更改,用户登录等).


Firebase应用程序的常见体系结构在本博文中非常明确,Firebase适用于您的应用程序?.

您建议的体系结构最接近体系结构3,您的客户端代码直接与Firebase 您的node.js服务器进行对话.

我还强烈建议您考虑选项2,其中客户端和服务器之间的所有交互都通过Firebase运行.这种架构的一个很好的例子是Flashlight搜索集成.客户将其搜索查询写入Firebase数据库.服务器侦听此类请求,执行查询并将响应写回数据库.客户端等待响应.

此服务器的简单大纲可能是:

var ref = new Firebase('https://yours.firebaseio.com/searches');
ref.child('requests').on('child_added', function(requestSnapshot) {

    // TODO: execute your operation for the request

    var responseRef = ref.child('responses').child(requestSnapshot.key());
    responseRef.set(result, function(error) {
        if (!error) {
            // remove the request, since we've handled it
            requestSnapshot.ref().remove();
        }
    });
})
Run Code Online (Sandbox Code Playgroud)

使用最后一种方法,客户端永远不会直接与您的服务器通信,从而消除了您必须担心的所有潜在问题.出于这个原因,我有时将它们称为"机器人",而不是服务器.