In the era of the increasing popularity of the new version of Magento, there are more and more questions related to its implementation. Official information of its producer to end support for the earlier version, Magento 1, in 2018, and the lack of new functionalities made the platform change a necessity for many developing eCommerces.
We decided to ask our Magento 2 developers what should you be careful about in implementing the system.
Aleksander, IT Team Leader:
Magento 2 is a relatively new topic. As it’s usually the case with technology, at the beginning they suffer from “childhood diseases”. This means that using such systems is more difficult, it’s challenging to seek and create new solutions. On the other hand, this makes our work more interesting.
As developers implementing the system, we’re constantly struggling with the problem of lack of generally available knowledge about Magento 2. Even if we find the information on the internet, it often doesn’t comply with programming standards, it’s incorrect or simply outdated. Tickets with errors piling up on Magento Github show how much is yet to be done.
It lacks many key modules integrating with payment systems, carriers etc. Magento doesn’t have backward compatibility with earlier minor versions – this means that the update from version 2.1.0 to 2.2.0 can force adapting to changes in the newer version. It seems to be a little problem, but if the so-called security patches are already prepared for a higher version, applications will require frequent updates, and this may involve additional work.
In addition, the checkout in Magento 2, although more efficient, is relatively difficult to rebuild. Be careful at the prototyping stage not to “accidentally” create more work for yourself.
Paweł, IT Team Leader:
The thing that’s most important in Magento 2 for me – often the same goal can be achieved in many ways. This mechanism was known to us already Magento 1, but in Magento 2 the possibilities are even greater. A large part of the task is not so much finding the solution, but finding the best solution, or the most coherent with our standards and practices.
Maciej, Senior Front-End & Magento Developer:
For me, the biggest challenge Magento 2 is something that was already mentioned by Olek and Paweł – the variety of ways you can approach the subject, which results in a lot of solutions on the internet, but many of them are wrong or outdated.
The characteristics of the new Magento can also include blurred division between frontend and backend. In this situation, you need to pay particular attention to fluent communication between frontend and backend developers in the project.
Particularly noteworthy is also the already mentioned purchasing path. It’s a kind of ‘Beauty and the Beast’ in Magento 2. At the beginning, modifications are a real nightmare. It gets better when you work on the same element for the third or fourth time.
Magento 2 currently uses LESS preprocessor, there are plans for transferring into Sass. We don’t know how it will look in practice – whether support for LESS will end completely or will they support both preprocessors. Thanks to our own compilation module for servers in Divante, we’re already able to implement projects based on Sass.
I can also add that Magento 2 uses a lot of JS and MVVM pattern. It’s very good – you can see that it begins to be a certain standard. Thanks to that, using the site is very dynamic and fun. Customers don’t need to reload the entire page in the case of a configurable product or after going through the whole purchasing path, reloaded are only those page elements that need to be refreshed.
Maciej, PHP Developer:
Basically, everything has already been said, I would just add a few more elements.
First of all, ready-made skins – each time you need to thoroughly examine their quality. It’s hard to do it without the code, looking only at a demo. If you decide on a ready-made solution, it’s also worth checking its creator – they should be 100% responsive and easy to access through all the channels of communication to support us with any problems we may have.
In Magento 2, you also you need to teach developers from the very beginning to abandon certain habits from M1 and code in accordance with the standards adopted by M2 (although these too are not ideal). In addition, it’s worth taking care of the reusability of modules – emphasize the fact that modules are more independent than just quickly created solutions that only work for a specific project or in a specific situation – although I don’t know which is worse.