Some folks in my old Magento cohort have been spending time looking into the venerable open source Shopware ecommerce platform. I remember kicking Shopware’s tires a few years back and found the technology both comprehensive and — boring. Good for Shopware, but not ideal for someone who differentiates on technology.
Shopware’s a Symfony based web application. It renders twig templates. It looks like they’ve added a Vue.js based admin that’s backed by an old fashioned REST API. I’m sure that, like other Symfony based shopping carts, there’s some extra layers of abstraction to contend with, but nothing as daunting as a custom programming framework.
It would appear that PHP information systems work continues to migrate away from knowing one particular system (Drupal, Magento, etc.) top-to-bottom and towards being able to jump into a project built using one of the platforms like Symfony or Laravel and start contributing.
If you want to take Shopeware for a quick spin and you know how to setup a PHP/MySQL development environment I’d steer away from their
shopware/platform repository (with its docker based development setup instructions) and just install the
shopware/production project locally. The setup instructions mostly worked for me — I needed to throw in a
$ ./bin/console assets:install
at the end to get things working. Dings the generic Symfony knowledge bell 🛎️
Learning the differences between
shopware/production is probably required if you’re going to get serious about Shopware development — but if all you want to do is get a feel for how the system works I found
shopware/production to be the quickest way to get a system working on a single development machine.
If you’re wondering whether Shopware’s a “Magento Killer” or a “Silver Bullet” you’re probably asking the wrong question. Between CMS based web services with ecommerce functionality (Wix, Squarespace, etc) and Shopify there’s no reason for your average “I want to sell something online” outfit to spend time building and maintaining their own ecommerce technology stack. If a company does have its own ecommerce technology stack that stack is just one small part of the comprehensive services they offer. Shopware, Magento, WooCommerce, 100% custom software. — which platform you chose is more about the sort of teams you’re able to pull together or the relationship you have with the people pulling together your teams.
If you’ve decided that that the technology itself is going to be your focus, spend time learning the platforms that technology is built on. Generic PHP and Symfony skills will serve you better long term. Put another way, once you know the underlying technology stacks, coming up to speed on whatever systems are the flavors of the month is exponentially easier.