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: GitHub - magento/magento2: Prior to making any Submission(s), you must sign an Adobe Contributor License Agreement, available here at: https://opensource.adobe.com/cla.html. All Submissions you make to Adobe Inc. and its affiliates, assigns and subsidiaries (collectively “Adobe”) are subject to the terms of the Adobe Contributor License Agreement.
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.