首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有关于构建可伸缩前端架构的资源吗?

有关于构建可伸缩前端架构的资源吗?
EN

Stack Overflow用户
提问于 2013-05-06 22:19:53
回答 1查看 1.5K关注 0票数 1

我要创建一个全新的网站,从头开始写所有的东西,大部分都在前端部分。我只想知道是否有任何资源来构建一个可伸缩的前端架构,因为我以前从未有过这样的经历。如有任何建议、意见或书籍推荐,将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2014-02-25 00:44:58

很难回答你的问题,因为我们不确定问题的每一部分。据我所知,没有“可伸缩的前端架构”这样的定义。可伸缩和前端都是非常广泛的话题,所以我只能猜测.

用您的话来说,前端意味着单页javascript应用程序,而可伸缩部分则意味着功能可伸缩性(而不是服务器端上下文中通常使用的加载可伸缩性)。有了这些约束,我认为REST体系结构是我所知道的最佳匹配。

  • 在REST体系结构中,有REST服务和REST客户机。两者都是应用程序。您可以在浏览器中作为前端应用程序运行REST客户端,也可以作为后端应用程序在服务器上运行REST服务。REST是为HTTP1.1协议设计的,因此正如您所看到的,它可以很容易地适应HTTP客户端和服务器的通常上下文。
  • 常规web服务只向其客户端提供数据(例如,以JSON格式提供),客户端应该知道如何处理它。因此,客户端必须包含业务逻辑的片段。服务还包含业务逻辑,因为它是检查请求有效性的唯一安全环境,而且只有它才能访问公共的持久存储(数据库)。因此,在这种情况下,服务和客户端都包含相同的代码片段,因此web应用程序的代码并不枯燥。我猜你已经知道非干码很难维持.通过REST体系结构,服务不仅向客户端发送数据,还向客户端发送抽象控制器(链接和表单)的表示。这可以通过发送任何超媒体格式来完成。如果考虑到HTTP通信,它会以HTML格式发送控制器和数据表示。我们可以使用HTML作为消息格式,但不建议使用它,因为解析它既困难又缓慢,并且没有任何建议如何以HTML格式序列化数据。XML和JSON是不同的,它们是为数据序列化而设计的,但它们缺乏控制器描述。目前,有许多新的超媒体格式建立在XML和JSON之上,这些格式包括: ATOM+XML、HAL+XML、HAL+JSON、JSON-LD、siren (JSON)、collection+JSON等.
  • 因此,REST客户端从REST服务获得超媒体格式的数据和控制器表示。例如,通过个人资料页面你可以得到一个名字,一个出生日期,等等.作为数据和编辑表单,删除链接等.作为控制人员。目前,如何描述控制器的标准/建议很少。您可以学习我提到的媒体类型,也可以创建自己的媒体类型。没那么难..。重要的是,REST客户端在得到控制器之前不应该知道确切控制器的任何信息。它只能知道如何显示从服务中获得的控制器。例如,通过注册表单,它不应该知道url方法、输入字段的名称等等.但是它必须知道如何显示以当前超媒体格式描述的注册表单。浏览器也是这样做的,它们作为HTML表单元素获取表单,并且非常好地显示它们,尽管它们不知道当它们将填充的表单发送回服务器时会发生什么。因此浏览器对它们所显示的web应用程序的业务逻辑一无所知。REST客户端对REST服务也是如此,他们对REST服务的业务逻辑一无所知,他们只知道如何显示REST服务返回的超媒体,以及如何向服务发送请求。我认为这是一种容易理解的方法.由于这种设计方法,REST客户端和REST服务是松散耦合的,具有容错性和易于维护性。例如,如果向REST服务添加新功能(例如新链接),它通常不会影响您的REST客户端,因为它们已经准备好处理链接.

我认为很容易理解REST体系结构的理论,但是诀窍要难得多。人们经常把他们的常规web服务称为REST服务,因为REST体系结构现在是一种炒作,这造成了很多混乱。每个人都想这么做,但很少有人做得对.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16408229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档