In my last blog post, I explained what SAP Spartacus is. In this article, I’d like to focus on its features and why it’s worth using it in a PWA Storefront implementation. I’m not able to cover all the things here so I’ve only picked some highlights. I know that this article might sound like an advertisement but I’m certainly not a marketer ;). It’s just a fact that Spartacus has a lot of good things to offer—and if there are a few drawbacks, you can easily get rid of them thanks to Spartacus’ flexible architecture.
The best features of Spartacus
SAP Commerce Cloud integration of Spartacus PWA
Spartacus provides a separate package for the UI. It is called ‘@spartacus/storefront’. It consists of reusable UI components and logic for building storefronts. It also contains an out-of-the-box B2C implementation which we can adjust to our needs. This implementation is called a recipe. Unfortunately, a B2B recipe is still in development but a basic version should be released in Q2 this year.
There are a lot of ready-to-use components like a carousel, cart, product list, product details, search box, and so on. Listing them all here is out of the scope of this article but you can find them in the API reference documentation.
An essential part of every eCommerce is Search Engine Optimization. The Spartacus Team has already done the groundwork here, too. Spartacus supports Server Side Rendering with the ability to fine-tune what is rendered on the server and what isn’t. The team has also taken care of tools for generating metadata and structural data which help search engines understand the content of pages. Another feature is configurable routing which allows us to make our URLs shareable and SEO-friendly.
PWA and other features
With the rise in popularity of Progressive Web Apps, Spartacus is not behind the trend. It lets you easily add PWA capabilities to your storefront. More advanced offline features are yet to come.
There are a lot of other features like internationalization (i18n), performance optimization, and so on. I encourage you to explore them for yourself by having a look at the documentation.
Extendability and upgradability
The Spartacus Team puts a lot of effort into making Spartacus extendable and upgradable at the same time. Thanks to Angular’s modularity system, you can selectively choose which parts of Spartacus you want to use. It also makes Spartacus configurable. Another Angular feature that helps with customization is component inheritance; we can extend any Spartacus component and adjust it to our needs. And the last thing is the Angular Dependency Injection Framework. Spartacus utilizes it in a way that means we can easily overwrite existing services with our own custom ones. We can, therefore, modify the behavior of our application without touching the library files.
Because these customization methods don’t require modification of the Spartacus source code, upgradability is maintained. Upgrading Spartacus is done via the package manager (npm or yarn).
From the business perspective, I think it’s worth trying Spartacus because it could save a great deal of development time while providing a lot of flexibility. However, starting with Spartacus might be difficult as it is a completely new approach to developing a storefront in the SAP ecosystem. As Divante is a core contributor to Spartacus, we can share our knowledge and help you get started with the development of Spartacus storefront. Just let us know if you need help and we’ll do everything we can to get you started.