May 27, 2016 Technologies
Is it really that loved? – Magento through the eyes of the developer
Magento is the most popular eCommerce platform in the world – hands down. The online merchants’ favorite, it gives them a reliable and powerful basis for their conquest of the online market. There’s really very little that cannot be accomplished with it. But is Magento really that universally adored by everyone? What about developers? Do they share this enthusiasm?
Research conducted by Aheadworks found that among the top million most popular websites in the world (according to the Alexa ranking), Magento dominates as the eCommerce platform of choice. That alone merely means that entrepreneurs love it and tend to choose it for their projects over other eCommerce software offerings. As a developer, I tend to look at Magento from a different perspective.
Only recently the 2016 edition of the Developer Paradise conference, that centered around Magento, came to an end, with developers learning and raving about the freshly introduced Magento 2. The new version of the platform “righted many wrongs” of the popular software, which often drove developers nuts. But what’s changed exactly?
Here’s to… finally having a decent documentation
Ever since Magento came to be, the attention of its creators was largely drawn to its functionalities. The big drawback of it was the lack of proper documentation of the entire platform. As Magento’s architecture is quite complicated, this was very frustrating, especially for beginners. It was particularly visible in the first few years of its development. Since there was no documentation, there was also no clear standard of how to expand Magento’s capabilities. As a result, a large number of subpar modules flooded the market, making it difficult to update Magento and causing various compatibility issues with other modules.
In the first few years, what made the situation a bit less troublesome was the help of the community. A number of expert blogs and the ease of finding answers in all kinds of forums made it possible even for beginners to figure out good standards and practices of development as well as solve common problems. But it is Magento 2 that finally has the definite answer to the problem. Ever since its development started, documentation was considered an important part of the process. Thanks to that, programmers can get familiar with the techniques used during development as well as the proper standards far before the release of the first stable version.
Big technology upgrade
The very first version of Magento was well designed and had a complex architecture. However, the rapid pace of changes in web development and (presumably) limited resources made it obsolete. What greatly contributed to this was a strong dependency on the first version of the Zend framework and lack of refactoring. Magento developers looked with envy at other PHP frameworks that wasted no time implementing new standards and recommendations.
Again, Magento 2 did a lot to improve the situation, answering many common complaints of developers. While overall being still a little behind modern frameworks, it introduced some welcomed changes:
- installation management via Composer;
- implementation of the PSR recommendations 1-4;
- native support for Varnish, Redis and Memcache;
- PHP7 support.
More efficient than ever
Efficiency is another traditional Magento weakness. It’s largely a side effect of how flexible and big it is. The optimization of a Magento-based shop that works slowly requires a lot of experience and is often nothing but a short of a pain. Magento 2 saw the creators learn their lesson. The new version is going to be much more efficient that its predecessor, even without using any sort of cache mechanisms. With native support for Varnish and PHP 7 as well as the ability to use more than one database per installation, efficiency of Magento will no longer be its weakness.
It isn’t to say that until recently developers flat-out hated working with Magento. The platform has had many major advantages that developers, including me, have traditionally pointed out and enjoyed for a long time.
Its module-based structure and complex architecture with many abstraction layers make it relatively easy to add and expand its functionalities. Developers have access to the Factory and Observer patterns that allow them to add new logic without the risk of influencing the ability to update and expand the platform in the future. As a result, it’s safe to use modules from various developers within one installation.
I have already mentioned the power of the Magento community. As the platform grows, the number of contributing programmers increases rapidly. The official forum alone has over 100,000 users, the magento.stackexchange.com forum has 18,000 and there are also a lot of blogs run by the most active members of the community. And so, it’s easy to find an answer to your question, whilst also striving to promote best practices.
Undeniably, one of the biggest pros of Magento from the perspective of both the developer and merchant is access to a host of free and paid third-party modules. There are so many of them that one can meet the needs of most of their clients without having to build new functionalities from scratch. Even for the most sophisticated requirements, ready-made modules make for a great base for further development.
Magento has won the hearts of eCommerce entrepreneurs and will continue to do so. But it’s worth it to know that over the years developers have had their fair share of struggles with it as well. Luckily, with the release of Magento 2, a lot of them are about to become a thing of the past.
Tomasz Piasecki, Senior Magento Developer at Polcode