超媒体驱动利用(Hypermedia-Driven Application Architecture,简称 HDA)架构是一种新的构建网络应用的办法。它将传统的多页面应用程序(MPA)的简略性和灵活性与单页面应用程序(SPA)的更好用户体验相结合。
HDA 架构通过扩大现有的 HTML 基础设施,容许超媒体开发人员创立更弱小的超媒体驱动交互来实现这一指标。
遵循 REST 的架构束缚,两个束缚特色化了 HDA 架构:
- HDA 应用申明性的、嵌入 HTML 的语法,而不是命令式脚本,以实现更好的前端交互性。
- HDA 应用超媒体(即 HTML)与服务器进行交互,而不是非超媒体格式(例如 JSON)。
通过采纳这两个束缚,HDA 架构在放弃原始的 RESTful 架构的同时,SPA 架构无奈做到这一点。
特地是,HDA 持续应用超媒体作为应用程序状态的引擎(HATEOAS),而大多数 SPA 则放弃了 HATEOAS,转而应用客户端模型和数据(而不是超媒体)API。
HDA 架构是两种先前架构的综合:原始的多页面应用程序 (MPA) 架构和(绝对)较新的单页面应用程序架构。
它试图抓住两者的劣势:MPA 的简略性和可靠性,以及应用超媒体作为应用程序状态引擎的 REST 架构,同时提供更好的用户体验,在许多状况下与 SPA 相当。
注:超媒体驱动应用程序架构(Hypermedia-Driven Application Architecture)是一种设计和开发应用程序的办法,它强调应用超媒体元素(如链接和嵌入式资源)来驱动应用程序的行为。超媒体驱动应用程序架构与 REST(表征状态转移)架构格调严密相干,但它更重视在应用程序中应用超媒体作为利用状态(应用程序数据和行为的组合)的引擎。
超媒体驱动应用程序架构的核心思想是,通过将应用程序的各个局部链接在一起,能够创立一个更易于发现、扩大和保护的零碎。这种架构的要害长处包含松耦合、可扩展性和灵活性,这意味着对系统的更改和扩大能够更容易地进行,而不会对现有性能产生负面影响。
以下是超媒体驱动应用程序架构的一些要害概念和准则:
- 资源:在超媒体驱动应用程序架构中,资源是信息的根本单位。资源能够是文档、图片、视频或其余类型的数据。每个资源都有一个惟一的标识符(如 URL),用于标识和拜访资源。
- 表征:资源的表征是资源的某种模式,它能够通过网络传输并出现给客户端。表征能够是 HTML、XML、JSON 或其余格局的文档。
- 超媒体:超媒体是连贯资源的链接和控件。超媒体使客户端能够通过单击链接或激活控件来导航到其余资源或执行操作。这种导航和操作的能力使应用程序具备动态性,因为客户端不须要事后晓得所有可能的操作和资源地位。
- 超媒体控件:超媒体控件是一种非凡类型的超媒体元素,它不仅提供导航性能,还容许客户端执行操作。这些控件能够是表单、按钮或其余交互式元素,它们能够用于创立、更新或删除资源,或执行其余操作。
- 松耦合:超媒体驱动应用程序架构通过将资源链接在一起,而不是通过硬编码 URL 或资源标识符来实现松耦合。这意味着当资源的地位或构造发生变化时,客户端能够持续失常工作,而无需进行批改。
- 自描述音讯:在超媒体驱动应用程序架构中,音讯(如 HTTP 申请和响应)应蕴含足够的信息来形容其含意和解决要求。这使客户端能够依据音讯内容自行确定如何解决音讯,而无需依赖于内部实现。