关于react.js:SAP-Commerce-Accelerator和SAP-Spartacus的技术对比

62次阅读

共计 1514 个字符,预计需要花费 4 分钟才能阅读完成。

Accelerator 是 Spartacus 公布之前,SAP Commerce Cloud 应用的 Storefront 实现。Accelerator 是一个开箱即用的 web 实现模板,是 Commerce 平台的一部分,以源代码的形式交付给客户。客户通过一个叫做 module generator 的工具,基于 Accelerator 模板代码生成本人的 Storefront 实现。Accelerator 这种同 Commerce 平台的紧耦合关系,以及基于源代码级别的二次开发形式,给 Commerce 我的项目施行的可降级性带来很大的挑战。例如,当客户发现新版本的 Accelerator 能满足本人新的业务需要时,心愿降级 Accelerator. 然而因为 Accelerator 是 Commerce 平台的一部分,所以必须先降级整个 Commerce,再应用 module generator 基于高版本的 Accelerator 代码生成自定义实现,再把基于低版本 Accelerator 模板而进行的二次开发,逐个手动迁徙到高版本 Accelerator 生成的自定义实现中去。当 Commerce 的二次开发达到肯定规模量时,这种手动降级的形式很挑战。

Accelerator 具备的这些缺点,在 Spartacus 问世之后都迎刃而解。
Accelerator 通过源代码的形式提供了一个 Storefront 的开发模板,而 Spartacus 则以库的形式,提供了一个轻型的 Storefront 开发框架。咱们新建一个 Angular 利用,导入对 Spartacus 库的依赖,当咱们须要降级 Spartacus 时,只须要更新 Angular 利用的 package.json 里 Spartacus 库文件的版本号即可,因而从 Spartacus 从可降级性上来说是一个微小的飞跃。
Spartacus 采纳 API 的形式同 Commerce 交互,这使得 Spartacus 能够同 Commerce 离开部署,别离进行降级,比方目前曾经公布的 Spartacus 3.0,反对从 Commerce 1808 开始及其之后的所有版本。
Spartacus 采纳 Angular 开发,编译之后生成 JavaScript 作为其运行时语言,这样一来,应用 Spartacus 的二次开发人员,不再须要过来开发 Accelerator 那样具备前端 JSP 和后端 Java 的全栈开发技术栈。
Accelerator 的可扩展性,是通过就义可降级性为代价换来的。同 Accelerator 只有源代码级别的批改这一繁多的扩大形式相比,Spartacus 实现扩展性的伎俩更加多元化

(1) Spartacus 的模块之一,ConfigModule,将业务逻辑和页面布局以及款式,通过配置的形式裸露进去,二次开发人员通过调整配置,能够更改 Spartacus 默认的行为和页面布局以及款式。
(2) Spartacus 的页面布局由不同的 Angular Component 组成,这些 Angular Component 同 Commerce 的 CMS Component 具备一一对应关系。Spartacus 容许二次开发人员加强甚至开发新的 Angular Component,去替换 Spartacus 公布时应用的默认 Component,以次来实现客户的页面定制化需要。
(3) 借助 Angular 弱小的依赖注入机制,Spartacus 容许开发人员像 Commerce 后盾开发人员应用 Java Spring 框架那样,开发本人的 service 实现,通过 Angular 的 Dependency Injection 机制,注入自开发的 service,从而达到定制化 Spartacus 的运行流程和逻辑的需要。

更多 Jerry 的原创文章,尽在:” 汪子熙 ”:

正文完
 0