Чем Magento 2 отличается от Magento 1


(Дмитрий Федюк) #1

На момент создания (2007 год) архитектура Magento 1 была инновационной, сильно отличалась от архитектуры существовавших в тот момен на рынке систем и способствовала тому, что Magento за 3 года (с 2010 года) стала самой популярной в мире системой для управления интернет-магазинами, остаётся ей до сих пор, а также занимает заметное место в сегменте систем для крупных и известных магазинов.

С момента разработки технологии Magento 1 уже прошло 8 лет, и Magento 2 является новым поколением технологии.

Инновационная архитектура

Говоря простым языком, архитектура Magento 2 позволяет качественно разработанным модулям для Magento 2 быть более совместимыми друг с другом и с ядром. Снижается вероятность поломки магазина из-за установки нового модуля. У администратора больше возможностей плавно наращивать и модернизировать свой магазин новыми модулями с меньшим риском поломать то, что уже работает.

Например, для Magento 1 существует проблема «Системный класс перекрывают конфликтующие между собой классы», которую разработчик модулей никак обойти не может: архитектура Magento 1 и возможности PHP 5.2 этого не позволяют (замечу, что сама возможность перекрывать системные классы, не трогая их — это то, чего до сих пор нет в большинстве других движков, в том числе и в Битриксе, который вообще построен на технологиях начала 2000-х, поэтому технологически даже старая Magento 1 превосходит многие современные движки).

Magento 2 же поддерживает плагины, которые позволяют не перекрывать класс целиком, а точечно выполнять микро-действия до, после и вокруг выполения какого-либо метода ядра. Это является гигантским шагом вперёд: на рынке нет других систем, которые обладают такой технологией. Повторяется та же ситуация, что и 8 лет назад: выходящая Magento 2 технологически заметно превосходит все присутствующие сейчас на рынке системы.

Во многом инновационная архитектура стала возможной в результате использования технологий современных версий языка PHP.

Magento 1 разработана на основе возможностей языка PHP 5.2 (вышедшего 9 лет назад в ноябре 2006 года). Magento 1 поддерживает более современные версии языка 5.3 и 5.4 лишь пассивно: она с ними работает, однако не использует их инновационные возможности с целью сохранения совместимости с версией 5.2.

Magento 2 разработана на основе возможностей языка PHP 5.5 (вышедшего 2 года назад в июне 2013 года), и в то же время поддерживает самые свежие и современные версии PHP 5.6, PHP 7 и HHVM.

Новые возможности языка PHP стали фундаментом для инновационной архитектуры Magento 2.

Другие ключевые технологии Magento 2 опишу кратко и простым языком, чтобы не делать статью слишком технической:

  • Composer: делает процесс обновления системы более надёжным и унифицированным.
  • Git: фундамент открытости процесса разработки (читайте ниже).
  • Модульные тесты: позволяют убедиться, что система не ломается от вносимых изменений.
  • Knockout: фундамент для построения модулями сложных, интерактивных, современных пользовательских интерфейсов (посмотрите, например, как происходит создание настраиваемого товара).
  • Less: упрощает стилизацию оформительских тем и интерфейса модулей.

Открытый процесс разработки

Magento 1 также является системой с открытым исходным кодом, однако процесс разработки был медленным и закрытым от партнёров.
Например, даже просто для того, чтобы посмотреть реестр дефектов Magento 1 — требуется авторизация, а это значит, что реестр дефектов не индексируется поисковыми системами и найти там что-то релевантное крайне сложно.

Magento 2 в качестве публичной площадки для разработки использует GitHub: https://github.com/magento/magento2
Очень просто сообщить о дефекте. Сотрудники Magento 2 быстро и качественно реагирует.
Я сам уже сообщил о 106 дефектах и очень доволен качеством реакции: в поддержке участвуют не 1-2, а несколько десятков сотрудников Magento 2. Видно, что команда Magento 2 велика и хорошо финансируется: трудовых ресурсов много, дефекты быстро устраняются да и вообще на пути к релизу система быстро развивается.


(Алексей Марков) #6

Добрый день. Планировал приобрести Русскую сборку Magento, но столкнулся с проблемой выхода версии Magento 2.0. Теперь не знаю с какой стартовать, 1 или 2. Не могли бы Вы осветить вопрос возможности использования тем и модулей написанных для Magento 1на Magento 2 или их экспорта. Спасибо.


(Дмитрий Федюк) #7

В Magento 2 нельзя использовать модули и темы, разработанные для Magento 1. Экспортировать тоже нельзя. Только платить их разработку или ждать.


(Алексей Марков) #8

Спасибо за быстрый ответ. Еще вопрос, у Вас можно будет заказать модули для Новой почты (Украина) и Liqpay (Приватбанк) для Magento 2? И приблизительный сроки их создания.


(Дмитрий Федюк) #9

Новая Почта $900, LiqPay $400. Рынок России и СНГ маленький, воруют много, за свой счёт в ближайших год планирую разрабатывать только модули для международного рынка, а модули для рынка России и СНГ - только за счёт заказчиков при хорошей оплате.