Magento2 has been significantly re-engineered, implementing support for more advanced and newer technologies, reworking programming patterns, improving usability and optimizing the platform.
A whole lot of improvements has been made, while keeping the modular nature of the platform and its extensibility intact, for instance:
- Improved documentation
Much more extensive developer documentation for Magento 2 has now been published on their website, targeted to all Front-end Developers, Back-end Developers, Solution Specialists, and Magento Admin Users.
Several blog articles and guidelines are also available on Magento website, and the entire codebase is now versioned and published in GitHub, not to mention issue and bug tracking systems being adopted, and free online on-demand courses offered by Magento as part of an introduction to Magento2 development program.
- Better performance, better scalability
Full Page Caching (so far probably the biggest game-changer in terms of performance, a feature so far only available to Enterprise customers in Magento1) has now been completely reworked and is provided out of the box also in Magento2 Community Edition.
Database support – even though still in MySQL realm (possible future integration with other DBMSs has been announced) – has also been reworked, to allow splitting data belonging to distinct areas of the application (catalog, sales/checkout, etc) in different servers, reducing bottlenecks and improving performance and scalability.
Native support for Varnish Cache services has been added to boost the speed of the Magento2 websites, and business logic and data have been further separated from the presentation layer, allowing more efficient and less painful caching.
Most of the static content can now be compiled before-hand, ready to be served as-is to the browsers, reducing the load on the infrastructure and allowing even more efficient caching.
Magento2 natively supports PHP7 and HHVM (both featuring significantly better performance over PHP code parsing and execution) and provides out-of-the-box Redis cache backend support.
- Better support for modern Web technologies, new development tools and an introduction of programming patterns
PHP namespaces, API definitions, Service Contracts, and Object Factory programming patterns have been implemented all over the Core code, Interceptors and Dependency Injection allow for static code compilation, better and safer extensibility, and customization.
Support for Automated Testing has also been added, covering most of the core functionalities but also giving extension developers a useful tool, to ensure a better quality of their code.
- Better user experience
Important parts of the application, as for instance checkout, have been completely reworked and necessitate now of less interaction at visitor’s side, the checkout process itself is much more linear and simplified, focussing on driving users to the purchase completion. Caching has also been significantly improved in these areas, as compared to Magento1, where page caching was practically disabled all along the checkout process.
Magento 2 is undergoing continuous development, with many enhancements on the way, which – combined with an already expiring support (announced to be offered by Magento only for three years after version 2.0 has been released) around the end of 2018 – makes switching to Magento 2 for Magento 1 users a no-brainer.
Unfortunately, Magento 1 developers (and agencies hiring them) are those who paid the price of many of these enhancements, both because of the difficulty in understanding new concepts and paradigms, differences from a platform they have already (slowly and painfully) became used to, and because of the many cool new features advertised by Magento (who really jumped the gun by announcing the presumably “stable” release of their new-generation platform to the public, distributing propaganda to the merchants as to why they should switch from Magento 1 to Magento 2, even though the “stable” release was nowhere nearly ready for production), that just didn’t quite work at first. Supposedly, Magento relied upon their Community, for support, bug discovery and fixes, and suggestions as to how to make the platform something truly usable in a production environment.