As Magento developers we have been closely watching the progress of the long-awaited update to the ecommerce platform named Magento 2 (or Magento 2.0). Originally announced in 2011, Magento 2 has been in development for quite a while, with the promise of being a faster, better version. The platform is still in private beta, we decided not to take their word for it and evaluated the sources of the promised improvements.
Legacy Expectations about Magento Improvements
When Magento 2 had been announced, the Magento development team outlined several targets for improvement. The goal of the project was never to re-write the entire Magento platform, but to fix the known errors and inconveniences found in the original code, improving its overall quality. Declared changes included fully automated unit and functional testing, better modularity in a sense of more customization options for each module, and general productivity improvements. However, due to the wholesale nature of the changes, Magento 2 will not be backward compatible with the legacy add-ons, so all of the current extensions available in the Magento Connect store will have to be modified for Magento 2 by their publishers.
What We Know About Magento 2.0 So Far
In September 2014 the Magento development team held a webinar titled Performance / Scalability Improvements And Composer, updating on the progress of the Magento 2 platform with some concrete details.
Let’s refer to the goals stated by Magento and dig into what each of them entails.
1. Magento Platform Web Technology Stack Modernization
Currently, Magento uses the PEAR (PHP Extension and application Repository) tool to for creating, distributing and installing packages of modules, tools and code libraries. This process will undergo a modern update with the use of the Composer, a concept that refers to probably the most significant shift for the Magento platform. Composer is an updated dependency management tool for installations of Magento versions and their components. Since this tool is not currently stable we cannot definitely assess whether it will meet the promise. But we do look forward to being able to use third-party libraries without bundling them with source code. This component-based architecture with a more robust dependency management should resolve extension conflicts and compatibility issues, ultimately making Magento development more predictable and robust.
2. Magento Platform Performance and Scalability Improvements
We are looking both for better out-of-the-box performance and scalability for Magento 2 with the introduction of Magento Performance Toolkit. This is a set of automated testing tools that will allow developers to compare real performance among different Magento software versions. In terms of performance, page load time should decrease and memory usage should decrease for the same number of visitors. Thankfully, as of September 2014, around 100 testers were comparing the performance of Magento Enterprise Editions 1.12, 1.13, and 1.14 to establish an open repository of a performance baseline, to compare with Magento 2 when it becomes available. Therefore, while we cannot evaluate performance and scalability improvements of Magento 2, the tools for precise improvement measurements are now becoming available to Magento developers.
This is a set of automated testing tools that will allow developers to compare real performance among different Magento software versions. Thankfully, as of September 2014, around 100 testers were comparing the performance of Magento Enterprise Editions 1.12, 1.13, and 1.14 to establish an open repository of a performance baseline, to compare with Magento 2 when it becomes available. Therefore, while we cannot evaluate performance and scalability improvements of Magento 2, the tools for precise improvement measurements are now becoming available to Magento developers.
One promising development is that certain performance features developed for Magento 2 will be backported to Magento 1 Editions. Currently, developers do not have an easy path for performance optimization. Some use advanced caching which expand code overhead and invite additional risks: in the best case forcing full page reloads instead of dynamic content serving and in the worst case potentially exposing personal user data. In Magento 2, content is divided into public and private, ensuring that private information is never shared in the caching layer.
3. Magento Platform Administration and Easy Customizations
The Composer tool promises more modularity and easier customizations to the code. In theory, we are expecting that add-ons and modifications will be more contained and will not impact other parts of the code. For new Magento 2 installations, this promise is likely to be realized, but there is nothing to be gained for currently available Magento edition.
4. Full Functional Coverage of Magento Versions Prior to Magento 2
As Magento 2 is not a re-write, standard functionality should be available on the Magento 2 platform. However, functionality resident in third-party libraries depends on how well the publishers of the 7,000 or so after-market extensions currently available in the Magento Connect store for the pre-Magento 2 Community and Enterprise Editions.
5. Cleaner Magento Platform Installation and Upgrades
While we look forward to a cleaner installation for new Magento users, it is too early to say that upgrades for existing Magento users to Magento 2 will be a simple process. The Composer implementation, however, should make add-on integration a more predictable and conflict-free process.
6. Higher Quality Magento Platform Code
For Magento 2, the use of the Composer will reduce the overall code overhead. Performance improving indexers, originally included only in the Enterprise Edition, will now also be added to both Community and Enterprise Editions, so the development process for Magento 2 will soon positively affect the Magento 1 versions as well.
7. Close Engagement With Magento Community
Magento is a vibrant community with many Magento developers contributing to it and increasing the network effect of the ecosystem. We confirm that Magento development team has improved their engagement by becoming more diligent with releasing Magento 2 code and documentation on their GitHub page, actively seeking feedback from the developer community.
Changes to Magento 2.0 We’re Expecting: A Summary
In a nutshell, we at Maven are expecting a quite different system from Magento 2, compared to current Community and Enterprise Editions (Magento 1). We look forward to the improved Composer functionality with easier management of extensions, improved caching, more intuitive admin panel, content indexers that operate automatically in the background and other Magento 2 features. Unfortunately, this won’t be too soon: currently, a firm commitment for stable Developer Version is due in Q4 2014, with a commercial version due out by Q4 2015.