Magento 2 vs Magento 1: my thoughts about the new platform

Magento 1 had a very innovative architecture on the time of its creation (2007). It was a big difference from the systems existed at the moment on the market, and Magento gained the status of the most popular ecommerce system in 3 years (since 2010) and has been holding it until now (2015).

8 years years have passed since that time, and Magento 2 is a new generation of the technology.

The technology innovations

Saying simply, Magento 2 allows the extensions to play much more nice with each other and with the core. A store owner can continuously improve the store by adding new extensions and upgrading the core with much less danger to break something.

An example of an innovation are plugins: an extension can add a custom behavior before, after and around a core class method. Magento 1 allows an extension to override a core class entirely, and if you install 2 extensions which override the same core class then you are in a trouble because at least on of them will work incorrectly.

The foundation of Magento 2 innovations is the modern PHP language.
Magento 1 is developed on the basis of PHP 5.2 (released 9 years ago in 2006).
Magento 1 can work in a modern PHP environment but does not use modern language features because it should be compatible with PHP 5.2.

Magento 2 is based on PHP 5.5 (released 2 years ago in 2013), uses modern language features extensively and has a native support for the bleading edge PHP 5.6, PHP 7 и HHVM.

Other key technologies:

  • Composer: makes an extension installation and the core upgrading processes more reliable, predictable, and unified.
  • Git: is a basis of Magento 2 development openness and developer community.
  • Unit testing: ensures that the system remains in a correct state after some changes, so they makes the system more reliable.
  • Knockout: gives an ability to build rich and modern user interfaces (see for example how a configurable product creation works in Magento 2 backend).
  • Less: a powerful tool for setting user interface appearance.

##Development openness

Magento 1 is an open source software too but the communication between the company (Magento) and the developers community is far from ideal. For example, the Magento 1 issue tracker is is very awkward: it requires authentication and so it is not indexed by Google. It is very uncomfortable to search for a problem solution or report about a problem there.

Magento 2 uses the most convenient and popular developers community site GitHub to communicate with the partners: https://github.com/magento/magento2
It is very comfortable to report issues there. Magento 2 team responds fastly and friendly.
I have already reported about 106 issues and very satisfied with Magento 2 team communication.