Shopware 6

Languages and frameworks | adopt

Shopware 6 is a comprehensive, API-first eCommerce platform. The Community Edition is open-source and free to use under the MIT license. There are also three paid tiers, providing additional features.

We have been working with Shopware 6 since 2019 and have observed a lot of improvements both in the ecosystem and around the framework. For example, the developer documentation that used to be poor and incomplete is now much more detailed and contains a lot of useful examples.

There are many ready-to-use plugins for integrating the shop with external systems like ERPs, PIMs, or CRMs available in the Shopware Store. If a given integration is missing, it is relatively easy to implement it thanks to the API-first architecture of Shopware.

The Storefront is built with Twig templates and Bootstrap with the addition of Vanilla Javascript for interactive elements. The core templates are reasonably divided into blocks, making the necessary extensions or overrides easy. What’s worth mentioning is the theme inheritance system, which can be very powerful if you e.g. need to build multiple brand-specific stores based on a common theme.

Shopware Administration is based on Vue.js and Twig.js. The interface is intuitive and can be easily extended by adding your own component or using one from the Shopware Component library.

One of the features that distinguish Shopware 6 from other eCommerce platforms is the Rule Builder. It can be used to personalize the shipping and payment options, create marketing strategies and product discounts, without writing any code. We also used the Rule Builder system as the base for implementing a custom price list system, with each customer group having personalized product prices. It was a good foundation that allowed for relatively quick development of such functionality, but we ran into some limitations. For example, the maximum number of rules to be displayed in Shopware Administration is hardcoded to 500. While this particular issue only affects the Administration UI, it may also be a sign that the rule system was not really designed to be used on such a large scale.

Shopware 6 makes extensive use of its event system. It’s very easy to customize or add certain features by subscribing to the events emitted by Shopware. While this is a powerful mechanism, it sometimes comes at the cost of decreased performance, because virtually any operation on any entity triggers some sort of events. It becomes a real problem if you need to access the data of thousands of products at once to e.g. generate a price list.

With the recent release of a new major version, Shopware 6.5, we’ve seen further improvements, both in terms of performance and new functionalities. We think Shopware became mature enough to be a viable option to run a small to medium online store. Therefore, we recommend it to clients looking for an eCommerce solution and move it to the “Adopt” ring.

Revisions:

assess | July 2019

Shopware 6 is all new, comparing to its predecessor, completely redesigned e-commerce platform.

The architecture is API-driven and consists of three elements:

  • Core system - PHP and Symfony 4 based, with the API;
  • Storefront - PHP and Symfony 4 based, with Twig templates;
  • Administration panel written in Javascript, based on Vue.js framework.

OAuth2 server is used to authorize the access to the API.

Community Edition is fully open source. Professional Editon and Enterprise Edition are not available yet.

Shopware 6 comes with Docker configuration files and one-command bootstrap. The current “developer preview” version covers basic requirements needed to setup an online store. However, the vendors have been working on the new versions on their plugins. They should be soon available via the Shopware Store.

Shopware 6 is a really promising product and we are going to asses it further once the first stable version is rolled out.

adopt