从单页面应用到 Hypermedia-Driven Application Architecture

简介: 从单页面应用到 Hypermedia-Driven Application Architecture

单页面应用程序(通过网络传输JSON)是在单个网页上运行的应用程序。在加载一个HTML页面和一些JavaScript后,它们依靠Ajax(“异步JavaScript和XML”)请求在服务器和客户端之间传递JSON数据对象,通过JavaScript和文档对象模型(DOM)API来更新HTML页面,而无需重新加载整个页面。


在超媒体驱动应用程序 (HDA) 中,浏览器仅限于显示 HTML、处理 JavaScript 和 CSS,但不了解应用程序的状态(即之前发生了什么以及接下来会发生什么)。 应用程序的逻辑完全在服务器上维护。 相比之下,在单页应用程序 (SPA) 中,所有路由和潜在操作都是预先定义并在前端实现的。 因此,对应用程序的任何修改都需要重建前端应用程序。


在 HDA 中,关注点分离的想法并不是高度优先的。 CSS、JavaScript 和 HTML 没有完全分离,后端不仅负责数据,还负责生成 UI 和程序流程。 然而,这种方法的优点是我们可以在一个地方维护和自定义所有内容,就像我们过去习惯的那样,例如在以前的 SAP GUI 应用程序中。


最后,将所有这些概念结合在一起,我们相信,开发出复杂性要低得多的应用程序是可能的,但与 SPA 相比,UI 保真度仅略低一些。 或者,当我们尝试直观地说明它时,HDA 应用的设计目标是,找到 MPA 和 SPA 之间的“最佳平衡点”:


UI5 与 htmx 和 unpoly 等框架有很大不同。 在 UI5 应用程序中,所有逻辑都在前端处理,而后端则利用 OData 实现。 这意味着ABAP仅用于传递数据,没有机会实现自己的逻辑或UI。


相关文章
|
XML 开发框架 前端开发
浅谈 Fiori Fundamentals 和 SAP UI5 Web Components 的关系
浅谈 Fiori Fundamentals 和 SAP UI5 Web Components 的关系
|
6月前
|
机器学习/深度学习 搜索推荐 UED
SAP Commerce Cloud Context Driven Services 概述
SAP Commerce Cloud Context Driven Services 概述
|
6月前
|
监控 搜索推荐 安全
SAP Commerce Cloud Context Driven Services 里 profile-tag.js 的作用介绍
SAP Commerce Cloud Context Driven Services 里 profile-tag.js 的作用介绍
|
XML JSON 网络架构
Hypermedia-Driven Application Architecture 介绍
Hypermedia-Driven Application Architecture 介绍
|
开发工具
最简单的 SAP Cloud Application programming CDS 练习
最简单的 SAP Cloud Application programming CDS 练习
123 0
最简单的 SAP Cloud Application programming CDS 练习
|
XML 存储 SQL
Google Architecture Components应用框架初探
Google Architecture Components应用框架初探
315 0
Google Architecture Components应用框架初探
|
存储 安全 Java
Spring Security(一)--Architecture Overview
Spring Security(一)--Architecture Overview
169 1
|
前端开发 JavaScript 程序员
Fiori Fundamentals和SAP UI5 Web Components
这周有位同事邀请我给团队讲一讲SAP技术的演进历史,所以我准备了下面几个主题来介绍。
Fiori Fundamentals和SAP UI5 Web Components
|
XML JSON Java
Spring component detection logic
Spring component detection logic
109 0
Spring component detection logic
|
存储 缓存 前端开发
SAP Spartacus - Progressive Web Applications,渐进式 Web 应用程序
SAP Spartacus - Progressive Web Applications,渐进式 Web 应用程序
SAP Spartacus - Progressive Web Applications,渐进式 Web 应用程序