如何在不影响实时功能的情况下为 React 和 React-native 托管通用的 Firebase 后端代码?

Posted

技术标签:

【中文标题】如何在不影响实时功能的情况下为 React 和 React-native 托管通用的 Firebase 后端代码?【英文标题】:How to host a common back-end code of Firebase for React and React-native without compromising the real-time feature? 【发布时间】:2016-06-06 11:06:29 【问题描述】:

我们(我和我的团队)正在构建一个食品配送实时 Web 和移动应用程序(使用 react-native),其中还包括支付集成和客户管理仪表板。

我们为应用选择的技术栈:

查看

React(网络应用) React-native(移动应用)

后端

快递 Firebase

我们考虑使用通用后端为网络和移动应用共享应用数据。基本上,我们会创建一个 API 来提供 使用 Express 的端点,然后 Express 会在 Firebase 中保存/检索数据 . Express 将是我们的中间件

我们创建了 2 个项目文件夹,首先牢记 Web 应用:

react-webapp express-webapp

然后,我们为包启动相应的服务器。

很遗憾,API 不是实时的,我们可能必须实施我们的机制以使流程成为实时。

所以,我们转而将 firebase 与 react 合并。我们决定只使用 express 来发送电子邮件。因此,Web 应用程序的文件夹结构类似于:

反应网络应用 node_modules 公开 源代码 火力基地

通过这种方法,我们创建了一个演示,我们确实获得了实时更新,我们还可以使用 ReactFireMixin。稍后我们可以使用相同的文件夹并将其添加到 react-native 以及从数据库中保存/检索数据。

我的问题是,由于我们之前没有任何使用通用数据库/后端和 React/React-native 构建 Web 和移动应用程序的经验,这种方法合适吗?有没有我们可以将前端代码与后端分离并利用firebase的实时功能的方法?

将后端与前端分离的原因是为 react 和 react-native 保留一个通用的实时后端,而不必为 web 和移动应用保留 2 个单独的 firebase 文件夹。

注意:如果您想知道为什么是实时的,那么客户要求实时下单机制。

【问题讨论】:

【参考方案1】:

可以将 socket.io 与 express 结合使用,以允许来自 firebase 的实时后端更新。

【讨论】:

以上是关于如何在不影响实时功能的情况下为 React 和 React-native 托管通用的 Firebase 后端代码?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不影响内容不透明度(悬停时)的情况下为背景不透明度设置动画?

如何在不更改 pvalue 的情况下为 kruskal wallis 测试执行循环比较多列上的 3 个组?

在不受线程调度影响的情况下实现 1 毫秒的实时准确事件

如何在不调用该 Activity 的 API 调用的情况下为横向和纵向模式使用不同的设计?

如何在不破坏范式的情况下为多对多关系构建连接表

如何在不为其创建专用网站的情况下为我的应用提供隐私政策?