SAP Commerce Cloud 项目 Spartacus 入门
原文地址
What is Spartacus?
Spartacus 是一個免費(fèi)的開源 JavaScript Web 應(yīng)用程序,它于 2019 年 5 月發(fā)布了 1.0 版本,并且每隔幾周就會繼續(xù)發(fā)布新的更新。它允許您為 SAP Commerce Cloud 快速創(chuàng)建自己的基于 JavaScript 的品牌店面。 Spartacus 是使用 Angular 編寫的,并作為一組庫發(fā)布。使用 JavaScript 的推薦方法是構(gòu)建您自己的 JavaScript Web 應(yīng)用程序并導(dǎo)入 Spartacus 庫。無需修改,店面即可開箱即用,但 Spartacus 的設(shè)計可升級、可定制和可擴(kuò)展,以滿足您的所有品牌和功能要求。
Spartacus 是使用 SAP Commerce Cloud 維護(hù)可定制店面的戰(zhàn)略性方法。它取代了在 SAP Commerce v4.4 中首次引入的加速器模板,以提供現(xiàn)成的入門實施。盡管 Accelerator 模板允許合作伙伴通過更改示例店面快速開發(fā)全渠道體驗,但模板不易升級,它們基于 JSP,并且店面與 SAP Commerce 核心平臺緊密耦合。
Spartacus Architecture
盡管 Spartacus 與 SAP Commerce Cloud 分離,但它僅適用于 SAP Commerce Cloud 平臺。 Spartacus 依靠 SAP Commerce Cloud API 和 CMS 內(nèi)容來運(yùn)行。它是 100% API 驅(qū)動的,旨在以無頭方式運(yùn)行。您可以自由擴(kuò)展 Spartacus 附帶的庫以包含您自己的自定義。您的 Spartacus 實施也可以通過 SAP 擴(kuò)展套件進(jìn)行擴(kuò)展。由于 Spartacus 與 SAP Commerce Cloud 平臺分離,因此您可以選擇將前端和后端開發(fā)分開,甚至可能具有單獨(dú)的部署/發(fā)布周期。您的 Spartacus 店面也可以獨(dú)立于 SAP Commerce Cloud 平臺進(jìn)行擴(kuò)展。您可能需要調(diào)整版本的唯一時間是在 SAP Commerce Cloud 中可供 Spartacus 使用的 API 的情況下。例如,Spartacus 2.0 版本有一些功能只能通過利用 SAP Commerce core 2005 中發(fā)布的 API 來激活。
Spartacus 使用多種語言、技術(shù)和庫的組合,包括 Angular、TypeScript、RxJS、NgRx、SASS 和 Bootstrap。最終輸出是純 JavaScript。 Angular 目前被用作開發(fā)框架,但其目標(biāo)是允許使用其他框架。
Spartacus 響應(yīng)迅速,包括對移動、平板電腦、桌面和寬桌面斷點(diǎn)的支持,但您可以自由配置自己的斷點(diǎn)。 Spartacus 還內(nèi)置了漸進(jìn)式 Web 應(yīng)用程序 (PWA) 功能,您可以配置您的店面以使用它。這將使您的店面更像傳統(tǒng)的原生 iOS/Android 移動應(yīng)用程序,具有出色的性能和可靠性以及移動原生功能。
Open SAP 上 Spartacus 的系列學(xué)習(xí)視頻鏈接
Spartacus 純粹是一組庫,其中包含一組核心庫、組件和樣式。 它有自己的發(fā)布周期,目標(biāo)是每兩周發(fā)布一次。 您可以完全控制是否接受這些庫更新。 您可以選擇要在應(yīng)用程序中使用的庫版本(Spartacus 使用 Semantic 版本控制 2.0),這些可用于完全配置和自定義您的店面。 有關(guān)主要版本更新的更多詳細(xì)信息,請參閱此頁面。
定制的方式與加速器不同; 您從不直接自定義 Spartacus 代碼——而是覆蓋或替換樣式和代碼。 這種方法允許易于升級。 有關(guān)擴(kuò)展 Spartacus 的更多信息,您可以查看我們的視頻庫。
Underlying Frameworks/Libraries
如果您過去一直在開發(fā) SAP Commerce Cloud 解決方案,您可能更熟悉我們的加速器(如下所述),它們是基于 Spring 模型視圖控制器 (MVC) 的應(yīng)用程序。 由于 Spartacus 是一個 JavaScript 應(yīng)用程序,底層框架/庫完全不同。 在開始開發(fā) Spartacus 應(yīng)用程序之前,您可能需要花時間熟悉這些技術(shù)/框架。
以下涵蓋了正在使用的框架/庫的主要站點(diǎn),并且是可以幫助您的開發(fā)工作的信息的良好參考:
- 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/sparta1
SAP Commerce Cloud Accelerators
由于 Spartacus 與 SAP Commerce Cloud 分離,因此您無需使用 Spartacus。您可以自由創(chuàng)建和維護(hù)自己的 JavaScript Web 應(yīng)用程序,也可以繼續(xù)使用 SAP Commerce Cloud 中嵌入的 Accelerator 模板,盡管這些不是前進(jìn)的戰(zhàn)略方向。在發(fā)布時,Spartacus 不會具有與 SAP Commerce Cloud Accelerators 的所有功能相同的特性,但這些差距將在 Spartacus 文檔中涵蓋。
如果您已經(jīng)在使用基于 Accelerator 的解決方案并希望遷移到 Spartacus,那么最好從頭開始。 Spartacus 在技術(shù)和架構(gòu)(模板與庫、無頭與嵌入式、JSP 與 Angular)方面完全從加速器轉(zhuǎn)變?yōu)榉妒健K鼈兪侨绱瞬煌?#xff0c;以至于無法將基于 Accelerator 的代碼移植到 Spartacus 店面。也就是說,由于 Spartacus 與 SAP Commerce Cloud 平臺分離,您可以通過同時運(yùn)行基于 Accelerator 的商店和 Spartacus 店面來簡化向 Spartacus 的過渡。例如,如果您目前有一個 B2B Accelerator 店面并且想要設(shè)置一個新的 B2C 店面,您可以使用 Spartacus 創(chuàng)建 B2C 店面,同時仍然托管您的基于 B2B 加速器的店面。假設(shè)您已經(jīng)設(shè)置了源存儲庫來構(gòu)建和部署 B2B Accelerator 店面,以添加 B2C 店面:
-
修改您的存儲庫以包含用于構(gòu)建/部署基于 JavaScript 的店面的正確結(jié)構(gòu)。
-
配置您的 manifest.json 文件以定義 Spartacus 調(diào)用的 API aspect.
-
在您的 manifest.json 文件中定義一個新應(yīng)用程序,指向您的 Spartacus 店面所在的位置。
您可以繼續(xù)添加新的 Spartacus 店面應(yīng)用程序并配置您的端點(diǎn)以允許特定流量進(jìn)入您的店面。 他們?nèi)栽谑褂孟嗤?SAP Commerce Cloud 平臺,因此您可以同時運(yùn)行多個店面,同時仍保持相同的信息(客戶、購物車、訂單等)。
Scalability
如上所述,由于您的 Spartacus 店面與 SAP Commerce Cloud 店面分離,您可以選擇單獨(dú)擴(kuò)展它。 也可以利用其他擴(kuò)展考慮因素(例如內(nèi)容交付網(wǎng)絡(luò) (CDN))來幫助減少負(fù)載。 此外,Spartacus 將包括 PWA 功能,例如緩存優(yōu)先網(wǎng)絡(luò)功能,這將使您可以選擇在用戶設(shè)備上本地緩存資源。 延遲加載還可用于確定是否/何時加載部分組件。 最后,由于 Spartacus 是 API 驅(qū)動的,它可以利用 SAP 業(yè)務(wù)技術(shù)平臺、Kyma 運(yùn)行時和隨附的可擴(kuò)展微服務(wù)快速向 Spartacus 店面添加新功能。
Server-side vs. Client-Side Rendering
默認(rèn)情況下,Spartacus 設(shè)置為客戶端渲染,但您可以配置服務(wù)器端渲染 (SSR)。 考慮每個選項的優(yōu)缺點(diǎn)并確定哪個選項最符合您的要求非常重要。 對于電子商務(wù)解決方案,通常需要 SSR 的搜索引擎優(yōu)化 (SEO) 的重要性超過客戶端呈現(xiàn)的任何好處。
Support
可以使用這個 slack channel
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的SAP Commerce Cloud 项目 Spartacus 入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP Spartacus Static
- 下一篇: 《侍道4》sweetFX补丁使用教程攻略