【问题标题】:When deploying on Heroku, is there a usecase for Parse Server anywhy?在 Heroku 上部署时,Parse Server 是否有用例?
【发布时间】:2016-07-28 13:09:12
【问题描述】:
我用 AngularJS 和 Parse 编写了一个 Web 应用程序,由于 Parse 即将退役,我开始在 Heroku 上进行部署。
在我的网络应用程序中,我使用 Parse 作为存储数据的一种方式(后端即服务)。使用 Parse Server 我必须使用 MongoDB 或其他数据库。所以我想知道为什么我在 Heroku 上部署时应该使用 Parse Server?有没有结合 Heroku 和 Parse Server 的用例?
【问题讨论】:
标签:
mongodb
heroku
parse-platform
parse-server
【解决方案1】:
不,您不必使用 Parse Server。您可以将数据存储在 MongoDB(或任何 sql 数据库)中,并在 Node.js 中编写自己的 API 来访问和返回数据。此代码可以包含适用于您的服务的任何业务逻辑。
但是,如果您选择使用 Parse Server,则无需编写任何 Node.js 代码。您可以简单地在客户端使用 Parse javascript API 并通过 Parse Server 访问您的所有数据。这有几个优点:
- 您可以快速部署客户端应用程序,而无需编写任何服务器端代码来访问您的数据库。
- Parse Server 内置支持处理用户登录、Facebook 身份验证等。
- Parse Server 提供了您的应用可能需要的许多有趣/有用的功能:例如推送通知、实时查询、文件存储等。
- 解析客户端 api 比仅将 REST api 用于您自己的服务器具有显着优势:即。支持所有主要平台、缓存和本地存储(用于移动设备)、一个很好的对象和查询模型,使编写客户端代码更容易等等。
- Parse server 拥有一个活跃的开源社区,因此您可以期待快速修复错误并添加新功能。
当然,对于任何这样的平台,都有一定的限制:
- Parse Server 在大规模生产环境中仍未得到证实。 (截至 2016 年 5 月)
- 您必须使用 MongoDB 和解析数据模型,而不是使用标准 SQL 数据库。
- 您需要服务器执行的任何自定义业务逻辑都需要使用云代码完成。云代码仅提供有限的查询集成点,可能不是您自定义逻辑的最佳选择。
- 您正在为您的客户授予对数据模型的完全访问权限(读/写/更新)(这可以通过使用 ACL 进行一些控制)。这使得构建自定义端点变得困难。
我的结论是,如果您想快速启动并运行应用程序,例如 Parse Server 非常适合使用。用于演示或测试。但是,如果您想在生产中使用它,您应该仔细评估限制。