使用 Firebase 实时数据库,我还需要使用flux、redux、mobx 或relay 和graphql

Posted

技术标签:

【中文标题】使用 Firebase 实时数据库,我还需要使用flux、redux、mobx 或relay 和graphql【英文标题】:With Firebase realtime database, do I still need to use flux, redux, mobx or relay with graphql 【发布时间】:2017-08-01 23:00:37 【问题描述】:

抱歉,问了一个愚蠢的问题。我无法理解,使用 Firebase 实时数据库,我还需要使用 Flux、redux、mobx 或使用 graphql 的中继吗?如果有,它们适合哪里?

【问题讨论】:

这是一个非常广泛的问题!为什么您认为您需要第三方工具——它们的用途是什么?用例是什么?请看How do I ask a good question? 我仍在学习所有这些技术。我目前没有任何特定需求。 【参考方案1】:

GraphQL 是一种基于开放规范的查询语言,因此使用它不需要任何工具。您可以使用任何支持 HTTP 的客户端。将 GraphQL 与 MobX 和 Redux 结合使用也是一种选择。

使用最近的RFC regarding GraphQL subscriptions,GraphQL 也是满足您实时需求的一个很好的答案。这是 GraphQL 订阅的 live demo 和 the corresponding video tutorial 以更好地理解底层概念。

要开始使用 GraphQL,您应该查看Graphcool,它将AWS Lambda 等无服务器功能与 GraphQL 的优势相结合,提供了一个灵活的数据库,同时具有实时能力。

免责声明:我在 Graphcool 工作 :)

【讨论】:

【参考方案2】:

firebase SDK 将处理这些工具提供的许多功能。话虽如此,在维护网络层之外的应用程序状态方面,总是有类似 redux 的地方。

如果您知道自己想使用 GraphQL,那么有实时 GraphQL BaaS 平台,例如 https://scaphold.io,它将与调制解调器 JS 堆栈更无缝地集成。使用这些平台,您将看到客户端缓存库(如中继和 Apollo 客户端)的性能提升。

如果你有兴趣,这里有一个教程:https://scaphold.io/blog/2016/11/09/build-realtime-apps-with-subs.html?

【讨论】:

以上是关于使用 Firebase 实时数据库,我还需要使用flux、redux、mobx 或relay 和graphql的主要内容,如果未能解决你的问题,请参考以下文章

如何在 firebase 实时数据库中删除我的数据?

Android:Firebase 实时数据库有连接池吗?

从 Firebase 到 BigQuery 的实时或每小时数据同步

在 Firebase 实时数据库中保存数据 Android Studio Kotlin

在 Flutter 中将数据保存到 Firebase 实时数据库

使用 Firebase 用户管理添加额外字段