What started with the first commit by Tobias Ouwejan on the 28th of February 2017 has become the next generation Storefront for SAP CX Commerce Cloud. After 6.400 commits by more than 50 contributors, Spartacus is now the preferred choice for implementing new Storefronts.
Time to have a closer look at what Spartacus has to offer.
What is Spartacus?
Spartacus is an open-source headless storefront for SAP Commerce Cloud written using Angular and published as libraries. Spartacus is used to build your own customer Storefront by using these libraries. The design is upgradable, customizable and extendable to suit customer specific branding and functionality requirements.
Key characteristics of Spartacus:
- An open source storefront based on JS frameworks and tools.
- A single page application with PWA (progressive web application) features.
- The storefront is customisable and extendible both at run and build time.
- Merge new features from releases into your storefront.
- Decoupled and upgradable architecture.
- You can build custom libraries as well to re-use your component in multiple sites.
- Libraries are provided with OOTB (out of the box) components which are completely separated so you can dictate whatever you want or extend.
- Integrated seamlessly with Smart Edit
How can it be compared to the Accelerators?
Accelerator templates provide a ready-to-use starter implementation. They allow to quickly develop an omnichannel solution, containing customer specific branding and functionality by changing an example storefront. The templates are JSP based and tightly coupled with the platform. Changed and/or extended templates aren’t easily upgradable.
Spartacus has a decoupled architecture, this means the storefront itself acts as a separate entity which, on top of its OOTB features, can have custom features. It interacts through REST API with SAP Commerce Cloud. Spartacus is similarly extendable as the Accelerator templates, but vastly more maintainable and upgradable.
Are there any other architectural advantages?
On architectural level Spartacus is a real game changer. The decoupled architecture of Spartacus enables interaction through REST API with SAP Commerce Cloud or any other SAP or non-SAP tool, which makes it an independent framework.
A single Spartacus frontend is able to communicate to multiple backends. This enables many options to develop independent and isolated functionality, for example by using SAP Cloud Platform Extension Factory. SAP Cloud Platform Extension Factory is the key extensibility layer for the SAP C/4HANA suite. It leverages the concepts and innovations from the Kyma project to use scalable microservices. Spartacus storefronts can easily access these API-based services so that you can quickly add new functionality to your storefront.
The only communication with the frontend is through web services layer. Therefore, frontend developers don’t need to understand backend technology and makes development, testing and deployment of an individual platform much easier.
Spartacus and Accelerator templates can run next to each other in SAP Commerce Cloud.
How to upgrade from Accelerator templates to Spartacus?
The Accelerator templates and Spartacus don’t share the same architecture and technology, there is no easy direct upgrade possible. Moving an existing implementation from Accelerator to Spartacus will take time. Spartacus requires that existing custom functionality is exposed by API’s. To fully benefit from the advantages Spartacus has to offer, backend architecture may need to be revised.
The frontend technology stack used by Spartacus, requires new and advanced skills from the frontend developers. If current developers aren’t experienced with the technologies used, they will encounter a steep learning curve.
If you are considering implementing or upgrading to Spartacus, Acorel can advise on how to achieve this.
Where can I find more information?
The Spartacus project is well documented. Visit the documentation page at: https://sap.github.io/cloud-commerce-spartacus-storefront-docs/