应用程序为何或何时需要服务器?

时间:2017-09-05 23:35:48

标签: android ios heroku saas paas

我一直在寻找这个问题的正确答案,在前端开发方面有一些背景知识,但是像SaaS,PaaS等新概念想要从专家那里获取信息,这可以帮助任何新手了解它的全部内容。

假设我正在尝试开发eBay,就像一个应用程序,它从用户那里获取产品并将其销售给需要它的其他用户。

我的应用需要后端服务器吗?如果是这样的话?我已将我的应用上传到Google Play商店或Apple Store。

像HEROKU或FIREBASE或AWS这样的后端服务器如何帮助我的应用程序?

我可以在单个应用中实现两种不同的服务,例如,用于后端数据库的firebase和用于支付处理的HEROKU吗?

再次感谢您的时间和信息。

2 个答案:

答案 0 :(得分:0)

除非您有建立分布式应用程序的经验,这些应用程序可以以一致的方式在多个节点上保存数据,并确保数据可用,否则我说您最需要某种后端。除非您当然只计划进行用户到用户的交易,这可能依赖于客户端应用程序之间的直接消息传递 - 这看起来毫无意义,与EBAY类产品的要求相差甚远。

就架构而言,您可以遵循许多不同的方法,但在大多数方法中,您将需要某种数据访问层。我建议您查看三层软件设计模式(https://en.wikipedia.org/wiki/Multitier_architecture),以便更好地了解此类软件产品的设计方式。

在整理出您喜欢哪种类型的数据持久性后,您需要设置移动应用程序将连接的后端以检索数据(销售的产品,用户个人资料和评级,您自己的历史记录) )。当然你也可以从应用程序直接连接到数据库,但这将是一个很大的错误 - 这意味着让数据库访问公开,并因此暴露于攻击,更不用说你很难找到用户注册和认证的解决方案,无论如何都必须通过其他方式提供。通常,您的后端也会管理用户注册和授权。

Heroku,Firebase和AWS都各有不同,每个都有自己的优点和缺点,但没有什么比尝试它们看看最合适的了。你所说的" Google Server"和#34; Apple Server"听起来像是一种误解,你可能指的是Google Play商店和Apple Store。这些不是可以用作后端的应用服务器,只能作为用户可以下载的移动应用程序的存储库,而不是其他任何服务器。

如果没有某种后端机制,为多个用户的消费提供数据的挑战将是压倒性的。

我知道这不是一个非常具体的答案,但你的问题是非常广泛的,似乎你需要先了解一些软件工程的基本原理,然后再详细说明。

答案 1 :(得分:0)

的SaaS

答案: SaaS发音为“软件即服务”。通俗地说,任何人都开发了任何软件,将其托管在某个地方,您可以将软件项目/产品中的托管软件用作第三方服务(如公共API),或者直接将其用作Firebase等任何许可证下的个人软件。

的PaaS

回答 PaaS发音为“平台即服务”。通俗地说,任何人都配置了一些硬件,通过一些基于Web的应用程序或REST API暴露硬件控制,你可以使用该硬件来部署/运行/管理你的应用程序,而无需你的实际硬件

后端服务器

回答首先,让我解释一下服务器。服务器是服务的中间人,无论要求什么,所有浏览器/移动应用程序充当客户端。因此,web就是客户端 - 服务器通信。

如上所述,eBay就像应用程序从用户那里获取产品(客户端操作),将其放在服务器上(客户端请求后台服务器将此产品放入服务器)和其他用户打开的应用程序(客户端操作)和搜索产品(移动客户端请求服务器返回该产品,如果有效并与搜索条件匹配),他可以购买(移动客户端将请求服务器完成购买)

您必须了解,对于Web应用程序,移动应用程序或桌面应用程序之间的任何通信,始终会有服务器。即使在像shareit这样的文件共享应用程序中,一个移动应用程序也可以作为服

是的,像HEROKU或FIREBASE或AWS这样的后端服务器将帮助您的应用完成您的应用业务流程。

是的,您可以在单个应用中实现两种不同的服务,例如,用于后端数据库的firebase和用于支付处理或托管您的应用程序/ API的HEROKU。