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

The main building block of Spartacus is backend integration. By default, Spartacus connects with SAP Commerce Cloud via OCC v2 REST API. However, thanks to its flexible architecture, we can connect to any other system by adding or replacing existing OCC connectors. This means that all the groundwork with data loading and state management, which has to be done in every JavaScript storefront, is already taken care of. This saves a lot of development time. What is more, the Spartacus Team is working continuously on optimizing this layer and keeping it up to date with the latest SAP Commerce release.

UI components

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.

SEO features

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).

Conclusion

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.

Spartacus Extended Training for SAP Commerce Cloud developers >

Mateusz Ostafil

Spartacus Specialist at Divante eCommerce Software House | LinkedIn | Twitter

Share your comment