Extending Shopware 6 and Magento 2 functionalities differences. Developer point of view

Paulina Jóźwik

f course, it is a little bit unfair to compare functionalities of a brand-new platform that just came out of early access to a fully developed e-commerce platform that was released almost five years ago. So what we want to write about is the differences in developing these platforms.


When we want to create a plugin to either Shopware or Magento, we usually start by designing the database architecture and entities first. In the case of the recently released Magento version 2.3.X, we can finally use XML schema files. During the execution of the database upgrade command, Magento will interpret and convert the XML to database queries for creating and altering tables. Thus, developers don't need to write SQL queries themselves. However, it is worth mentioning that previous versions below 2.3.X required developers to write database queries on their own in the install method in a PHP file.Shopware uses standard Symfony migration files, which are also PHP files containing MySQL queries. Still, you can generate these files via a console command, which makes this a lot easier. It also lowers the chance of typos in the queries. Furthermore, what we like very much about creating entities in Shopware is how developer-friendly the DAL (Data Abstraction Layer) is, compared to Magento in this area. It is way more comfortable and faster to create entity associations in Shopware than it is in Magento. Of course, the whole process could be even quicker if there was a command for Shopware's Data Abstraction Layer similar to Doctrine ORM's "entity:make".

But we are sure sooner or later that command will be created either by the Shopware Team or the Shopware community. In this area, Magento 2 is more complicated, and many more classes have to be written by developers. This increases the chance of making mistakes. However, it is a well-known fact that Magento 2 developers usually generate their modules by using online tools or implementing custom solutions to save some time.

shopware vs magento

Another thing worth mentioning is the way Shopware 6 and Magento handle their entity IDs in the Database. Magento uses an old-fashioned autoincrement with integer IDs. Shopware, on the other hand, recommends using UUIDs, which provide a lot of advantages such as protecting data growth rate or allowing importing and export data from other systems without the risk of overlapped IDs.

Creating simple modules (or plugins, in the context of Shopware) is easily doable in Magento and Shopware. But what happens if one wants to create a complex module with a lot of functionality, using multiple classes and with code that is reusable in the future? The most straightforward idea is to divide the module into smaller, separate modules with fewer responsibilities and customize only some parts, leaving others unchanged. In this way, we have to take care of smaller modules being dependent on each other. Magento 2 handles this pretty well with sequencing module installations. That means that our new module will be installed after all modules it requires, by creating something like a queue. Unfortunately, in Shopware, it is not possible to do dependent plugin installations, or we could not figure it out yet. Plugins composer-requirable, but if we try to install plugins that use classes from another plugin that has not yet been installed as well, then the installation fails.

It is hard and time-consuming to extend any existing code without documentation and StackOverflow-like communities. In this area, Magento 2 is unarguably better. It is hard to think of something that has not been already mentioned somewhere on the first google result page, and it doesn't matter if it is a problem or customization. The Shopware 6 documentation is easy to understand, contains examples, and covers basics for writing simple plugins, but advanced platform changes require digging deep in the vendor code. We also had some difficulties finding suggestions or solutions using a search engine; however, it is understandable for such a new platform to lack a broad community.


For a person who used to develop Magento 2 functionalities for a couple of years and recently started to create Shopware 6 plugins, I find Shopware 6 to be easier to learn, and it is more fun developing for it. Magento 2, on the other hand, is more complex and requires quite a lot of experience and patience to master. Surprisingly, creating modules that expand vendor functionality or debugging existing code of  Magento 2 is more satisfying, in my opinion. For other developers, not necessarily. It all depends on your preferences.


Piotr Kozioł - Magento & Shopware Certified Developer at Strix with a wide range of experience in software development. As a leading architect and programmer, he has been working for many years on large e-commerce projects, particularly interested in the subject of performance.

Similar posts

see all

E-commerce audit - what is it and why do you need it?

Effective e-commerce learns from its mistakes and successes, but for this it needs data. That's why an e-commerce audit is the starting point for growing your business. What does it consist of and what benefits does it provide?

Dutch ShopWorks merges with Polish Strix to create European e-commerce agency

A new business coalition for the exchange of knowledge, resources and the development of modern e-commerce.

The 2nd edition of Shopware United Days PL was a success!

On June 13, 2022, we organized the 2nd edition of the Shopware conference took place. This is the only such event in Poland! More than 200 participants came to Krakow to hear about cross-border trade and B2B sales.

How Shopware supports B2B sales

Most modern e-commerce solutions are centered around the needs of the retail consumer. Meanwhile, the B2B sector is more than five times more valuable than B2C! Business e-commerce deserves innovative solutions tailored to its needs. And that's precisely what Shopware offers.

The 2nd edition of Shopware United Days PL is coming!

Come to Krakow on June 13 for the 2nd edition of Shopware United Days PL organized by Strix. During the conference, we will tell you how to use the power of Shopware in the B2B sector and expand the global potential of your business.

Let's work together

If you want to move your sales to the online world, are looking for new ideas for strategy or innovative e-commerce technologies - write to us! We will be happy to talk about the best solutions for your business.