A Developers Perspective of Magento 2

About Me

Let me introduce myself a Magento developer for almost a decade working in agencies, freelance, and the enterprise. Most of this was on the Magento 1 platform until 2019 since I have been primarily focused on the Magento Commerce 2.X platform.

After wrapping up a large multi-year migration to Magento 2 it seems that many of the pain points of M1 still exist.  I still loathe EAV in a lot of instances and the standard Configurable Product setups I have been setting up for years.  Bundled products are also an area that isn't built out anywhere near where it could be in regards to GraphQL at least as of 2.4 and no custom options support.  Elastic Search while it seems great is unfortunately interfaced through Magento so when using APIs scaling concurrent connections are very expensive.  This creates the new to do things where you basically don't even use Magento or have to spin up a lot of servers to handle tasks that seem mundane.

I shouldn't complain about Magento in regards to the new options to implement plugins, dependency injection, and how they have integrated a lot of the features that had previously been missing, but where Magento 2 frustrates me currently is when you try to do something the Magento way and find out that they never actually finished updating parts of Magento core to work properly so they cannot be extended easily without doing things the wrong way... I suppose it's still a work in progress.

Welcome our new overlords?

The current offering of shopping carts seems to be changing think Shopify which are more customer friendly, easier to use for small businesses seem to have filled  a lot of the marketspace Magento had picked up originally, but now with a lot of enterprises looking for a one size fits all Digital Experience Platform with the integrations built right in I wonder where Magento will fit in.  Smaller companies might avoid Magento, but larger companies may also have preferences on using larger Digital Experience Platforms like Salesforce Commerce Cloud.

Additionally one of the biggest issues is the decisions of Magento's current owner... Let me tell you one thing I keep wondering, are they just trying to kill the product?  The Github issues trackers are place where you can see the issues, bugs persist for several years and the core team repeatedly just closing things out with no resolution... And the speed which updates are being are being implemented and or handled by the core team regarding fixes is not very promising at this point either.  Also, the cost of ownership thanks to the new licensing arrangements they have imposed have also put a large strain on customers....  At this point if you're trying to implement a new site using Magento it seems that Open Source is the only version of Magento I could recommend in most cases.

What could have been

Through this whole process I have wondered what it would have been like to have implemented something like Sylius as a PHP cart platform alternatively which is more specialized in the modern development approach using a headless PWA.  While other PHP options seem to be the latest iteration of OpenCart (formerly Zen Cart, OS Commerce, etc) which gives me flashbacks to a time where web development was just not what it is today and that is a good thing. As they say hindsight is always 20/20, I'm not giving up just yet, but am keen to keep an eye on newer technologies to implement.

UPDATE: The ownership of Magento has changed hands and leadership has taken the platform in different directions, Adobe has in the last couple of years really started address a lot of the issues I originally had issues with Magento 2 and while everything isn't perfect they have steadily been adding more relevant features and it does seem like issues are being resolved and the platform is better than ever. It seems Magento has a brighter future ahead than when I originally wrote this article and while the jury is still out on things like PWA Studio. There is a large community of development creating open source projects to help us harness the power of Magento!