Magento 2 Extensions: Our View
Categorized as : Magento 2 Extensions
Now, with the advent of the Magento 2 Merchant beta we realize that just a short time remains before the great shift in the ecommerce world – the final launch of Magento 2. This long-awaited leap is going to be quite a hard challenge for the whole community and for us personally as a Magento extension provider.
So, what are the main features of Magento 2 plugins and how will they affect both vendors and merchants? We asked our Magento 2 Development Team to answer our questions on the topic.
Magento 2 Extensions Development Process
aW: What are the differences of the Magento 2 extensions development process compared to Magento 1?
Fedor: Magento 2 extensions development involves a more structured approach: more classes, objects, new code patterns, xml, xsd. Today, Magento is much closer to the “enterprise style”. You also need some time to embrace Magento 2 coding standards, but it is actually not more complicated than to port to Magento 1 from other ecommerce solutions.
Thanks to the new mechanisms, the integration into the system became simpler and more transparent. And, the architecture of Magento 2 provides a big order, encapsulation, and modules’ independence.
aW: Are there any specific testing features inherent to Magento 2?
Fedor: The automated testing is of great attention within Magento 2, since it offers advanced opportunities for unit, functional, performance testing, etc. So, it is supposed that third-party extensions should follow the same path.
aW: Do you follow Magento 2 Coding Standards and are they helpful in your work?
Fedor: Magento 2 Coding Standards are largely equal to the rules of good programming, so called “clean code”. And, we strive to follow these rules both for new extensions and the ones developed for Magento 1.
Magento 1 to 2 Extensions Migration
Once you decided to migrate to Magento 2 you should be ready that the migration will be a troublesome process and will probably not include the opportunity to transit your extensions. But, some Magento extension vendors will provide, possibly, migration services or discounted Magento 2 extensions for existing customers.
Here is what Alan Kent says regarding this obstacle in his blog:
It is also expected that some extension developers will wish to provide migration support of their extension specific data. The level of integration support here is yet to be determined. For example, a simple approach is for extension developers to document how to copy and change the default migration tool configuration files to include their extra data to copy. Another approach is to provide a more flexible, pluggable framework that extensions can automatically plug in to. The latter sounds cool, but is a more work and could be unnecessarily restrictive.
Magento 2 Extension Installation
aW: What are the specific features of Magento 2 extensions installation and configuration?
Fedor: Magento 2 is a “console framework”, and thereby you need to use certain console commands during the extension installation and now it is impossible to fulfill installation “on the fly”. At the same time, the configuration of extensions mainly remains the same.
Oleg: Third-party extensions can be installed in two ways: either using Composer or copying files to the required directory. In contrast to Magento 1, the last option is not a single-step procedure now, and requires executing the bin/magento commands of the utility. So, it seems to be more difficult for merchants to install such extensions, however, they will have the opportunity to manage all modules via single interface.
Outlining all of the above we may say that our development team positively perceived Magento 2 for its real advantages and benefits. And, they believe that the extra efforts worth to be done for the sake of future improvements.
Magento 2 is just at the very beginning of its long way and a lot of things should be done before the community will have a chance to take a breath. And, we think that today is the right moment for that start.
Leave your comments below, please.