如何在不影响实时功能的情况下为 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 个组?