![Firebase:](https://linux22.com/image/1510190/Firebase%EF%BC%9A.png)
我想开发一个 Web 应用,然后开发相应的 Android/iOS 应用。到目前为止,我只决定了要使用 React 和 React Native 移动前端。
对于其余的技术堆栈,我正在考虑使用 meteo.js,在这种情况下,如果我错了,请纠正我,我不需要其他技术。
但是我也在寻找替代方案,我读过的一些内容是 loopback、firebase 和 redux。我对这些都很陌生,所以我知道这可能是苹果和橘子的比较,但我不太确定,它们对我来说各有什么用处,这是否是非此即彼的情况,或者我是否应该将其中一些结合起来?Redux 听起来也适合 Meteor.js 工作流程?
总而言之,如果有人可以向我解释所有这些如何组合在一起以及什么样的组合作为技术堆栈才有意义,那就太好了。
答案1
Firebase:
Firebase 的工作原理是:一个或多个用户订阅某些数据,因为他们对这些信息感兴趣。
服务器会跟踪这些订阅。一旦有新的订阅,一些数据就会以消息的形式发回。
当一个客户端写入一些数据时,发布/订阅服务器会将此更新广播到所有其他活动订阅。
一切都以发布/订阅的方式运行,因此不存在“查询”的概念。你只需说出你感兴趣的内容,然后你就会收到描述数据的消息。
优点
- 如果您的应用确实运行集中式数据库并且由大量用户更新,那么它就能够处理设备之间的实时数据更新。
- 存储在云中,因此随处可轻松获取。
- 跨平台 API(如果您将此数据库与应用程序一起使用)。
- 它们托管数据,这意味着如果您存储大量数据,则不必担心硬件!
缺点:
- 除非您的应用运行一个由大量用户更新的集中式数据库,否则这实在是太大材小用了。
- 存储格式与 SQL 完全不同(Firebase 使用 JSON),因此您无法轻松迁移。
- 报告工具与标准 SQL 工具相差甚远。
- 成本!限制为 50 个连接和 100MB 存储空间!
- 您不托管数据。Firebase 托管。根据您使用的服务器,查看其运行时间,最近似乎出现了很多中断。
雷克斯
Redux 是一种架构模式和一个库。它赋予你在一个对象中管理应用程序状态的能力。下面是一个文章说到这个,文章 说到将所有状态存储在单个不可变原子中的缺点。
回送
优点
- 非常快速的 RESTful API 开发
- 约定优于配置
- 内置模型可立即使用
- RPC 支持
- 需要时可完全配置
- 详尽的文档
- 全职团队致力于该项目
- 可用的商业支持