头图

SAP Spartacus - Progressive Web Applications,渐进式 Web 应用程序

JerryWang_汪子熙
English

原文

Spartacus 是一种基于 Angular 的 JavaScript 解决方案,主要在浏览器中运行。它是渐进式 Web 应用程序 (PWA) 之一,反过来又代表了响应式网站和应用程序的共生关系。这究竟是什么意思,SAP Spartacus 的优缺点是什么?

渐进式 Web 应用程序 (PWA)、本机应用程序和标准浏览器访问之间有什么区别?各自的优缺点是什么?

让我们从通常的访问方法开始——“正常访问”服务器通过浏览器呈现的 HTML 页面:如果浏览器查询一个页面,服务器会向相应的 HTML 页面提供任何样式表(CSS)和 JavaScript。接收到内容后,浏览器会显示完整的页面并执行任何 JavaScript。页面内的任何导航都会导致所有内容重新加载。

本机应用程序从根本上不同于网页。它们通常使用依赖于设备的框架(iOS 的 Android 或 Swift)来实现,并以最终用户设备上的操作系统为基础。应用程序通常通过 API 接口与后端通信,以在其内存中重新加载和存储数据。

对于客户而言,原生应用程序的实现意味着除了网站之外,还必须为设备开发单独的应用程序。这意味着不能使用相同的代码。但是,本机应用程序为用户提供了移动设备上的最佳用户体验。它们可以很好地离线构建,并提供对设备功能的完全访问,例如 GPS、相机等。

另一方面,单页应用程序 (SPA) 或其扩展 (PWA) 仍然是网页。与通常的访问不同的是,该页面实际上仅由 JavaScript 组成,并且——顾名思义——由单个 HTML 页面组成。

因此,当浏览器第一次请求时,服务器总是提供相同的页面。通常更广泛的 JavaScript 然后表示内容并动态交换页面上的元素。也就是说:之后服务器只加载所需的数据——取决于哪个 URL 以及用户请求的数据。服务器已经查询过的任何内容都在本地缓存,并在需要再次使用时出现。

这样的应用程序让用户感觉更加流畅,因为它不会重新加载页面。此外,可以非常具体地控制必须加载哪些数据。 PWA 通常还可以访问各种设备功能。然而,JavaScript 的大量使用对搜索引擎和旧设备来说是一个障碍。因此,经常使用服务器端渲染:将 JavaScript 在服务器上转换为 HTML,并与通常的访问方法一起使用。然而,一旦页面被加载,所有访问都发生而无需重新加载页面。

还必须首先由商店客户安装 PWA。与无需通过标准浏览器的应用程序即可访问的电子商店相比,这不是一个额外的障碍吗?作为客户,我会觉得这更方便。

PWA 主要是一个网站,不需要安装。但是,它可以像应用程序一样保存为设备上的图标。由于其类似网站的性质,与经典应用程序不同,它不需要更新。

通过本机应用程序访问现在正在逐步淘汰,不是吗?

这取决于相关的应用程序。但是,对于许多公司而言,开发额外的原生应用程序(适用于 Android、iOS、Windows 和各种设备版本)会带来过多的财务和组织负担。

PWA 对 SAP Commerce 企业客户的具体好处是什么?

SAP 商务系统是无头操作的,便于从其他系统访问。使用 PWA,可以非常具体地加载内容,这也可以让 Google 更好地评估性能。网站和设备只需要一个应用程序。此外,使用更新的前端框架,增加了对员工的吸引力。

PWA 对最终客户有什么好处?

PWA 对最终客户的好处是显而易见的:更流畅、更快速的用户体验,并且根据实现,可以更好地适应界面以适应设备的大小。

从加速器迁移到 PWA 的成本有多高?我应该预计多少时间和成本?

这变化很大,取决于初始情况。但是,所需的工作并不取决于部件的数量,而是取决于现有的代码结构和页面结构及其复杂性。

Angular 有多安全?

在 PWA、SPA 和现代框架中,应用与传统网站相同的安全方面。但是,Angular 和其他框架提供的功能可以更轻松地实现这些方面。还必须确保服务器上的安全性 - 并且无需在客户端中存储敏感数据。

Spartacus 对 SAP Commerce 客户意味着什么?

由于 PWA(即 Spartacus)的复杂性要高得多,它需要不同且更深入的 JavaScript 知识和最先进的前端框架。是否需要服务器端渲染并且 SAP Commerce 是否在本地运行?然后,例如,需要额外的基础设施以及定制的开发和部署流程。

这对我的升级策略意味着什么?新的发展是否应该与 Spartacus 一起实施?

在我看来,你应该考虑用 Spartacus 来代替。但是,根据框架条件和要求,可能需要采取不同的路径。

SAP Spartacus 相对年轻,有几个方面可能已经以过于简陋的方式解决了。必须考虑诸如服务器端渲染之类的事情。特别是如果迁移到云无法(还)进行。如果您将解决方案靠近加速器或标准,则切换到 Spartacus 可能是有意义的。

过渡到 SAP Spartacus 对我的组织意味着什么?

Spartacus 基于 PWA(渐进式 Web 应用程序)的原理和 Angular 技术。许多公司使用基于 jQuery 或类似的相对简单的 JavaScript 在加速器中工作。 PWA 代表着复杂性的显着增加,因为它还具有经典的应用程序元素,例如路由、安全性、持久性和异步性。因此前端开发人员需要更好的 JavaScript 和应用程序开发技能。

SAP Commerce (Hybris) 的开发过程和接口也不同,需要根据代码质量进行重构。如果您想在本地环境中运行 Spartacus,则必须根据您的要求实施服务器端渲染和所需的基础架构。这同样适用于相关的部署过程。 SAP 已经在云中为此提供了支持。

阅读 1.3k

Jerry Wang的SAP技术专栏
SAP成都研究院开发专家,SAP社区导师,SAP中国技术大使
836 声望
1.6k 粉丝
0 条评论
836 声望
1.6k 粉丝
文章目录
宣传栏