前端还是后端应该使用 Web 服务


Should frontend or backend utilise web services?

我们正在用PHP开发一个系统,我们希望利用Web服务。网页是否应该通过像 angular 这样的框架与 Web 服务通信以获取数据,或者后端应该与 Web 服务通信并生成发送到浏览器的结果。

您可以从Facebook等网站上看到,数据实际上是作为以JSON或其他格式返回的页面的一部分提供的。然后,它将由他们的JavaScript处理以呈现页面元素。

AngularJS和其他框架(如EmberJS)通常会创建所谓的单页应用程序(SPA)。目标是将客户端(前端)与后端完全分离。

在我喜欢称之为过去的日子里(尽管这仍然是一种相当普遍的做法),你有一个通过模板引擎渲染HTML的服务器(php有Smarty,RoR有slim和erb,并且有许多多语言实现,如Mustache和Handlebars)。这种方法的问题在于,客户端逻辑完全附加到后端逻辑,因此当产品增长时,开发人员需要在两端(前端和后端)维护逻辑。

这在几年前不是问题,因为视图非常简单:html表单,选择,div,图像。然而,在过去的4-5年里,Javascript和CSS得到了相当大的冲击:你可以用几行代码做一些惊人的事情。拥有一个能够维护如此丰富的应用程序的开发人员(由于Flex + Adobe系列,术语又名RIA)和备份是一个罕见的宝石,而且雇用起来相当昂贵(他们被称为全栈开发人员)。大多数时候,它们在所有网络堆栈中都不是好事,因为需要大量的知识。我们先不提你需要与设计师、用户和经理的互动。

如今,更

常见的是拥有一个前端人员团队,他们是设计师的粘合剂,并且Javascript中的代码与REST后端连接。此支持通常由后端开发人员维护,并以 XML 或 JSON 格式返回响应。由于数据是我们唯一关心的事情(因为前端由AngularJS等应用程序处理),后端人员不必处理CSS或JS,到目前为止,CSS或JS是一个像任何后端语言一样难以驯服的怪物。

在我的网站上使用网络服务。我总是使用前端与 Web 服务通信以获取数据。

后端将用作通信的主管。