乐趣区

关于sap:SAP-Commerce-Cloud-项目-Spartacus-入门

原文地址

What is Spartacus?

Spartacus 是一个收费的开源 JavaScript Web 应用程序,它于 2019 年 5 月公布了 1.0 版本,并且每隔几周就会持续公布新的更新。它容许您为 SAP Commerce Cloud 疾速创立本人的基于 JavaScript 的品牌店面。Spartacus 是应用 Angular 编写的,并作为一组库公布。应用 JavaScript 的举荐办法是构建您本人的 JavaScript Web 应用程序并导入 Spartacus 库。无需批改,店面即可开箱即用,但 Spartacus 的设计可降级、可定制和可扩大,以满足您的所有品牌和性能要求。

Spartacus 是应用 SAP Commerce Cloud 保护可定制店面的战略性办法。它取代了在 SAP Commerce v4.4 中首次引入的加速器模板,以提供现成的入门施行。只管 Accelerator 模板容许合作伙伴通过更改示例店面疾速开发全渠道体验,但模板不易降级,它们基于 JSP,并且店面与 SAP Commerce 外围平台严密耦合。

Spartacus Architecture

只管 Spartacus 与 SAP Commerce Cloud 拆散,但它仅实用于 SAP Commerce Cloud 平台。Spartacus 依附 SAP Commerce Cloud API 和 CMS 内容来运行。它是 100% API 驱动的,旨在以无头形式运行。您能够自在扩大 Spartacus 附带的库以蕴含您本人的自定义。您的 Spartacus 施行也能够通过 SAP 扩大套件进行扩大。因为 Spartacus 与 SAP Commerce Cloud 平台拆散,因而您能够抉择将前端和后端开发离开,甚至可能具备独自的部署 / 公布周期。您的 Spartacus 店面也能够独立于 SAP Commerce Cloud 平台进行扩大。您可能须要调整版本的惟一工夫是在 SAP Commerce Cloud 中可供 Spartacus 应用的 API 的状况下。例如,Spartacus 2.0 版本有一些性能只能通过利用 SAP Commerce core 2005 中公布的 API 来激活。

Spartacus 应用多种语言、技术和库的组合,包含 Angular、TypeScript、RxJS、NgRx、SASS 和 Bootstrap。最终输入是纯 JavaScript。Angular 目前被用作开发框架,但其指标是容许应用其余框架。

Spartacus 响应迅速,包含对挪动、平板电脑、桌面和宽桌面断点的反对,但您能够自在配置本人的断点。Spartacus 还内置了渐进式 Web 应用程序 (PWA) 性能,您能够配置您的店面以应用它。这将使您的店面更像传统的原生 iOS/Android 挪动应用程序,具备杰出的性能和可靠性以及挪动原生性能。

Open SAP 上 Spartacus 的系列学习视频链接

Spartacus 纯正是一组库,其中蕴含一组外围库、组件和款式。它有本人的公布周期,指标是每两周公布一次。您能够齐全管制是否承受这些库更新。您能够抉择要在应用程序中应用的库版本(Spartacus 应用 Semantic 版本控制 2.0),这些可用于齐全配置和自定义您的店面。无关次要版本更新的更多详细信息,请参阅此页面。

定制的形式与加速器不同;您从不间接自定义 Spartacus 代码——而是笼罩或替换款式和代码。这种办法容许易于降级。无关扩大 Spartacus 的更多信息,您能够查看咱们的视频库。

Underlying Frameworks/Libraries

如果您过来始终在开发 SAP Commerce Cloud 解决方案,您可能更相熟咱们的加速器(如下所述),它们是基于 Spring 模型视图控制器 (MVC) 的应用程序。因为 Spartacus 是一个 JavaScript 应用程序,底层框架 / 库齐全不同。在开始开发 Spartacus 应用程序之前,您可能须要花工夫相熟这些技术 / 框架。

以下涵盖了正在应用的框架 / 库的次要站点,并且是能够帮忙您的开发工作的信息的良好参考:

  • Languages: Typescript, Sass
  • Frameworks: Angular, RxJS, NgRx
  • Dependency management: Yarn, npm
  • Build: Angular CLI (under the hood: webpack, ng-packagr)
  • Testing: Jasmine, Cypress, Karma
  • Code Quality: Prettier, TSLint
  • IDE: Visual Studio Code (or equivalent)
  • Source control / distribution: Github, npmjs

SAP Spartacus 公开课:https://open.sap.com/courses/…

SAP Commerce Cloud Accelerators

因为 Spartacus 与 SAP Commerce Cloud 拆散,因而您无需应用 Spartacus。您能够自在创立和保护本人的 JavaScript Web 应用程序,也能够持续应用 SAP Commerce Cloud 中嵌入的 Accelerator 模板,只管这些不是后退的策略方向。在公布时,Spartacus 不会具备与 SAP Commerce Cloud Accelerators 的所有性能雷同的个性,但这些差距将在 Spartacus 文档中涵盖。

如果您曾经在应用基于 Accelerator 的解决方案并心愿迁徙到 Spartacus,那么最好从头开始。Spartacus 在技术和架构(模板与库、无头与嵌入式、JSP 与 Angular)方面齐全从加速器转变为范式。它们是如此不同,以至于无奈将基于 Accelerator 的代码移植到 Spartacus 店面。也就是说,因为 Spartacus 与 SAP Commerce Cloud 平台拆散,您能够通过同时运行基于 Accelerator 的商店和 Spartacus 店面来简化向 Spartacus 的过渡。例如,如果您目前有一个 B2B Accelerator 店面并且想要设置一个新的 B2C 店面,您能够应用 Spartacus 创立 B2C 店面,同时依然托管您的基于 B2B 加速器的店面。假如您曾经设置了源存储库来构建和部署 B2B Accelerator 店面,以增加 B2C 店面:

  • 批改您的存储库以蕴含用于构建 / 部署基于 JavaScript 的店面的正确构造。
  • 配置您的 manifest.json 文件以定义 Spartacus 调用的 API aspect.
  • 在您的 manifest.json 文件中定义一个新应用程序,指向您的 Spartacus 店面所在的地位。

您能够持续增加新的 Spartacus 店面应用程序并配置您的端点以容许特定流量进入您的店面。他们仍在应用雷同的 SAP Commerce Cloud 平台,因而您能够同时运行多个店面,同时仍放弃雷同的信息(客户、购物车、订单等)。

Scalability

如上所述,因为您的 Spartacus 店面与 SAP Commerce Cloud 店面拆散,您能够抉择独自扩大它。也能够利用其余扩大思考因素(例如内容交付网络 (CDN))来帮忙缩小负载。此外,Spartacus 将包含 PWA 性能,例如缓存优先网络性能,这将使您能够抉择在用户设施上本地缓存资源。提早加载还可用于确定是否 / 何时加载局部组件。最初,因为 Spartacus 是 API 驱动的,它能够利用 SAP 业务技术平台、Kyma 运行时和随附的可扩大微服务疾速向 Spartacus 店面增加新性能。

Server-side vs. Client-Side Rendering

默认状况下,Spartacus 设置为客户端渲染,但您能够配置服务器端渲染 (SSR)。思考每个选项的优缺点并确定哪个选项最合乎您的要求十分重要。对于电子商务解决方案,通常须要 SSR 的搜索引擎优化 (SEO) 的重要性超过客户端出现的任何益处。

Support

能够应用这个 slack channel

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

退出移动版