Magento is an open source CMS that is widely used for the production of e-commerce sites. Its popularity has grown to become one of the most used CMS in the world.
Why should I use it?
There are hundreds of reasons to use or not use a particular software. Sometimes I think the best thing to do is looking online, googling and seeing what the trends are. If an increasing number of users choose one platform over another, it may be possible that it’s worth to have a look and figure out what features it has to offer.
These are my reasons:
Free and Open Source
Made for E-Commerce
If we think about WordPress, we can easily link it to blog websites because WordPress was created to pursue specific goals: build and manage your blog. Similarly, Magento is designed to set up and maintain e-commerce sites, and it provides specific features such as product management, multiple stores, billing and payment systems.
Magento can be used by both small or medium businesses with low numbers of users and products to manage, and big companies which can serve multiple countries and different markets. It is no coincidence that some Fortune 500 companies, such as Samsung, Lenovo, Nokia and Ford, use Magento to manage their virtual store.
Why should I hate it?
Thre are many reasons drive us to use Magento for our websites. On the other hands, there are many others you might hate it. The customization, in terms of programming, can be considered frustrating. There are some aspects that I find negative, and that made me hate this CMS, at least at the beginning.
Magento is a complex system (about 8 million lines of code) and although its structure is flexible and modular, it can easily be disrupted by other installed modules, creating many difficulties during the debugging phase. In addition, some internal mechanisms, such as the merging of entire configuration files and the cache management systems, may not be very clear.
As mentioned above, Magento is a complex system and this leads to a significant decrease in performance and processing speed of the pages. Making queries on its database, with about 300 tables, and parsing hundreds of configuration files can be quite slow. To avoid these issues, Magento developers have created various cache layers and flat tables that make the server operations faster. Therefore the system is now even more complicated.
Magento documentation may be clear but not very useful if you’re a developer. There is a fairly comprehensive user guide that explains the use of the CMS, but nothing about the development of components. Also, it seems that there is a sort of mystery among Magento developers, a kind of Freemasonry that holds the knowledge and best practices to which only a few can access.
In conclusion, despite its complexity Magento is a complete software, and it is a must when it comes to e-commerce sites. There are many more modern systems but still too young to compete with this software that continues to update itself while maintaining its strengths: a stable, robust and scalable architecture.