【发布时间】:2016-09-28 22:15:17
【问题描述】:
我们有一个包含 Web 应用和移动应用的简单场景。这两个应用程序都使用服务器端 Web API。我们的业务逻辑仅驻留在该 API 上。
我们正在从 AWS RDS 迁移到 Firebase。我到处都可以看到我不需要将服务器端代码与 Firebase 一起使用,但是如何直接从我的应用程序(移动和网络)访问 Firebase,而不在两个应用程序上复制我的业务逻辑?
我了解这种方法(仅使用 Firebase 而不使用服务器端代码)适用于简单的应用程序。但如果我不想复制我的逻辑,我能想到的几乎每个应用程序都必须有服务器端 API。
是我遗漏了什么还是我真的还需要一个服务器端 API?
【问题讨论】:
-
首先想到的是“为什么?”,为什么你认为你需要一个服务器端的api?否则你的问题太宽泛了。与往常一样,几乎所有事情都是按情况进行的。大多数情况下,通过在客户端完成所有工作并将安全性留给数据库(对于学习如何编写良好的安全性规则非常重要),您会做得很好,并且几乎总是在任何大型项目中您都需要一些功能在服务器上运行以避免暴露私钥或运行您无法在客户端上执行的代码(但这是例外,而不是规则)。
-
我同意你的看法。但让我给你一些背景。可以说,每次我添加新产品时,都必须发送一封电子邮件。我必须在两个应用程序(Web 端移动)上都编写该规则吗?让我们想象一下我的逻辑发生了变化……我是否需要记住我放置该逻辑的任何地方?使用 API 我只需要更新一个地方。现在想象一下我有一个 web 应用程序、ios 应用程序、wp 应用程序和 Android 应用程序的场景。我将不得不在任何地方更新我的代码。不难想象会错过什么。
-
哦,对了,我一直在使用跨平台 JavaScript,以至于我忘记了这些问题 XD。是的,在那种情况下,我想你必须继续以同样的方式工作。如果您想获得更多见解和想法,仍然认为如果您发布有关真实场景的更具体问题会更有用。