One Year of Magento 2
Magento 2 was officially launched in November of 2015. According to builtwith.com, there are now over 5,500 active websites using Magento 2, meaning that M2 sites account for somewhere around 2% of all Magento sites on the web. Magento 2 was released with high expectations and a good deal of hype. In 2016, Shero developed four Magento 2 sites, and in this post we’ll share some of our experiences implementing this little-documented and largely untested platform in the real world.
What Surprised Us
For all the fanfare around its release, Magento 2 was in many ways a mystery until we began to test and develop with it ourselves. We found the new platform to be very similar in concept to Magento 1, providing a relatively smooth transition for website administrators familiar with its predecessor. Just getting to this point, however, was more challenging than expected. New, stricter server requirements had our developers scrambling to upgrade PHP and its extensions, which in some cases could cause problems with Magento 1 sites hosted on the same servers.
This introduced us to Magento’s new emphasis on stricter control and higher standards–good news, according to our developers, but the scant documentation available at launch often obliged them to experiment. Overall, Magento 2 represented a surprisingly high learning curve for developers, to the extent that a developer unfamiliar with Magento 1 was likely to have an easier time than a veteran M1 developer who had a wealth of knowledge to unlearn for M2. So while the new platform was familiar in overall concept, we found that it was radically different under the hood.
The Developers’ Perspective
After a year of working with Magento 2, feedback from our developers has been largely positive in regard to the technology and potential of Magento 2. The file structure of M2’s backend is better organized and cleaner, with tighter standards in regard to modules and extensions. This was combined with more object-oriented programming, better command line tools and other useful development features like the standard inclusion of Swagger for API testing. All these enhancements, however, came with a steep learning curve. Instead of a smooth transition based on incremental advancements, the switch from M1 to M2 represented a dive into the deep end of a completely new development environment.
In addition, there was, and still is, a certain amount of plain old bugginess that is to be expected from a new platform, meaning that some functions just didn’t work right regardless of how well they were executed by the developers. This was further complicated by Magento 2’s development mode. We found that while this mode is necessary for certain aspects of website development, it makes the site much slower and prone to bugs, often introducing issues that could be resolved merely by switching to production mode.
We also found that despite a much-publicized release schedule, extension developers were slow to adapt to the new version during the first year. The situation has improved in the second half of the year, with many larger developers or extension companies releasing M2 versions of their most popular extensions. Nevertheless, for a platform that prides itself on extensibility, early adopters of Magento 2 were likely to find themselves with a list of features that could not be realized with existing extensions at the time of development. This is also true for API integrations. In particular, Magento 2 has exhibited persistent problems with certain PayPal features in our experience. All our Magento 2 clients have wishlists of features that are waiting for future extension releases. A byproduct of this is that we often tested early or even beta versions of extensions for basic features, with predictably exciting results. On more than one Magento 2 site, literally every new extension introduced new bugs.
The release of Magento 2.1 midway through the year solved some bugs, but also introduced new ones. Shero’s experience in 2016 was that Magento 2 is probably easier to pick up for a developer with little or no experience with Magento 1. The similarities between the two versions are far outweighed by the differences, and a veteran of the previous version will have many principles to unlearn. This is a special challenge for a developer who is simultaneously working on Magento 1 and Magento 2 projects–a reality that is likely to persist for several years to come.
What doesn’t kill us makes us stronger, though, and our developers have met the challenge with brilliance and enthusiasm. While honest about its current frustrations, our developers expressed universal optimism and excitement about the product as it continues to develop, and were happy to be on the cutting edge even when that edge was uncomfortably sharp.
Project Planning and Management for Magento 2
For store owners and administrators, Magento 2 offers many attractive new features and enhancements. It is more secure, easier to use, and boasts important improvements to product management, content management and marketing. Despite all this, it quickly became clear that we wouldn’t be recommending a rapid upgrade plan to our existing Magento 1 clients.
While the administrative interface and system structure of Magento 2 will be familiar to Magento 1 users, the similarities are only skin-deep. From a development perspective, an upgrade to the new version should really be thought of as a switch to an entirely new system or replatforming, with all the costs and complication that this implies. True, it’s an improvement. But it is by no means a simple one.
The two platforms are so different at the developer level that even operations that seemed like they should be straightforward–such as migrating a Magento 1 product catalog to Magento 2–posed surprising and time-consuming challenges. In fact, many of the toughest issues faced by our team were related to data import.
The same principle applies to extensions, configuration settings and managed content. Libraries and assets from Magento 1 will often need to be reconfigured to work with the new version. And, of course, the newness of the software means that time must be factored in for handling unexpected bugs. So while anyone who owns or manages a Magento 1 site now will certainly be obliged to plan for an upgrade within the next five years, it’s probably safe to say that the transition isn’t urgent yet. Shero is happy to explain the many benefits of an upgrade to Magento 2, but we are careful to explain that the process can be expected to take as long, and cost as much, as would a switch to an entirely different eCommerce platform.
The Enterprise Edition Factor
Magento has made no secret of the fact that while they will continue to release new versions of the free Magento 2 Community Edition, their primary focus has shifted more toward the Enterprise Edition version of Magento. This is emphasized by the fact that many of the features that make Magento 2 so compelling are found only in Enterprise Edition, including modern marketing features like customer segmentation, targeted promotions, scheduled campaigns and content staging.
In addition, Magento 2 Enterprise Edition is a much safer bet because of its support priority. Unlike users of Community Edition, Enterprise Edition customers have access to Magento support, as do any developers working on their project. This means that the inevitable bugs and difficulties that come up with a platform in the early stages of its development can be addressed more quickly and effectively with the designers of the product itself. Furthermore, new features and bug fixes are released quickly in new versions of Enterprise Edition. Those same features may take time to find their way into Community Edition releases, if they make it at all.
In our experience, this gave Enterprise Edition sites a distinct advantage over their Community Edition counterparts during production.
Conclusion: Great, But Not for Everyone…Yet
Let’s be clear: We here at Shero love the Magento product and think that Magento 2 is a big, necessary step forward. We are actively developing Magento 2 projects and are excited to take on new ones. That being said, we don’t recommend Magento 2 for every new project–and sometimes we still recommend Magento 1. So while every project is different, here are our basic guidelines at the beginning of 2017:
Magento 2 is better for new projects
It may be surprising, but some of our biggest challenges with Magento 2 have come from “upgrading” a Magento 1 site. We put “upgrade” in quotes, because a switch to Magento 2 is really a switch to a new platform and should be understood as such. That can be a bitter pill to swallow for existing Magento 1 customers, and even the great new features supported by Magento 2 tends to make the time and cost involved in an upgrade a tough sell. This is especially true for Magento 1 sites that have a lot of extended functionality that needs to be replicated in Magento 2.
On the other hand, new eCommerce websites and websites currently hosted on other platforms are probably better positioned to take advantage of Magento 2’s features. In this case, the time and cost required to develop a Magento 2 site will come as less as a shock, and the focus of project planning can be rightly placed on how Magento 2’s amazing suite of features and capacity for customization can result in tremendous value for the business–well worth the effort involved in development.
Magento 2 is best for Enterprise
Finally, while Magento 2 Community Edition is a good platform for the smaller merchant, the high-value features and extra support of Magento 2 Enterprise Edition are a crucial offset to the comparative Community Edition version. Couple that with the fact that Magento 2 EE is really designed for large to enterprise-level websites, and the situation for 2017 at least is clear: we love Magento 2, but for now we highly recommend Enterprise Edition for our clients. It’s the best way to get the most value out of a platform that, while truly exceptional, is still in the process of getting even better.
Magento’s Enterprise-first policy means that updates and improvements made in Enterprise Edition do eventually trickle down into Community Edition as well. As Magento 2 continues to improve over the next year or two, both editions will continue to become a more obvious choice for store owners who want to take advantage of Magento’s power and flexibility. We anticipate that 2017 is going to be a big year for Magento, and Shero is excited to help our clients make the most of it.