在使用支持的node.js和前端把手和ejs完成一些项目后,我已经研究了全栈开发了一段时间,我正在开发有角度的webapps。 问题是使用模块和服务,我可以设法调用apis,设置身份验证并连接到数据库(使用firebase和angularfire2),所有这些都是以角度完成的,我觉得对于一些有节点的项目.js后端可能是一种矫枉过正......所以,如果我只使用角度来创建一个正常运行的webapp,为什么以及何时需要返回并为项目开发一个完整的MEAN堆栈?
答案 0 :(得分:2)
Firebase is an awesome BaaS - 后端即服务。如果您不需要创建自定义后端,则无需任何操作。这只是意味着您的网络应用可能不需要增加复杂性。以下是有人创建自己的原因:
请求已缓存 - 如果使用您的网络应用的用户直接向您的Firebase API发出API请求,则其他一些用户可能会在几秒钟后发出相同的请求。如果您有一个Node.JS服务器向FireBase发出请求,那么这两个请求将只为1,因为您的服务器将缓存响应。
费用 - 使用我上面给出的示例,假设该数字乘以20,您可以开始了解您的费用会有多大差异,就像您支付的BaaS一样用于带宽。现在说你希望你的网络应用程序在不同的大陆上使用,Firebase是否允许GCP区域(这允许你在US-WEST,US-EAST,EU-London等地方拥有服务器实例)?
复杂数据模型 - 某些BaaS的问题之一是相关数据的问题。虽然您可能在当前的应用程序中拥有简单的关系,但想象一下围绕相关模型的复杂性更高的Web应用程序。假设这是角度视图所需的数据:
在很多情况下,您的服务器执行更复杂的查询,收集此数据并在1个请求中将其发回,而不是在角度客户端中编码4个不同的请求将更有利。想象一下,如果这继续了角度代码库的大小,这就与成本有关。现在想象只通过帖子进行翻阅,您必须对Firebase请求非常有创意。
这些是要考虑的事情。如果他们不申请,那么他们不适用,如果他们知道你的话。