Magento 2 was announced in 2010. It was planned for release in 2011, and its merchant beta version was released in July 2015. Since then Magento 1 and Magento 2 have existed simultaneously. Magento 2 has many new and improved features, developer tools and its architecture is quite different from all the previous versions.[1]

What’s new in Magento 2?

Change of the folder structure

Magento 2 has a big change in the folder structure.

  • Media folder, errors folder, get.php, cron.php and index.php files are all moved to a pub folder.
  • Skin and js folders are also moved to a pub/static folder. This makes it easier to manage static content with CDN.
  • The database connection string is now defined in app/etc/config.php instead of the local.xml where it was previously located.
  • All themes are grouped by vendor now and path naming convention is app/design/frontend/vendorName/themeName.
  • Paths to modules now contain both vendors name(namespace) and module name.

These are the most obvious changes and the folder structure now makes more sense. [2]

Performance

Making Magento 2 perform much better than the older version it has been a great focus of the Magento team.

Here are some of the most important upgrades:

Full page caching

If in Magento 1 you needed to install an external extension for that, now full page caching is integrated into Magento 2.  Performance boosts for page load-times is significant since the Magento doesn’t need to make database queries to present the page to the user. The cached version of all pages are located in /var/page_cache folder.

Optimized code base

Advanced code design patterns were used when creating Magento. This will naturally guide developers into using those patterns and producing their own code in accordance with best practices. The end result will be better quality code, which is easier to maintain and upgrade.

A comprehensive presentation of the design patterns used in Magento 2 can be found here.

Separating databases

This is a feature available only in the Enterprise edition. This new feature that allows separate databases to be used by the same Magento instance. One database could hold all the product, CMS and category info while another database handles the checkout process. The third instance could be used to take care of order management. Each of the three databases can also be configured to have one or more ‘slave’ databases that serve as load balancers and backups. Scalability potential is enormous.

Better extensions

With the launch of Magento 2 comes also a new Magento Marketplace. The review of the extensions to be published is much more strict. To ensure none of the core functionality is broken by the extension, Magento will perform full regression testing of all extensions which will have to be submitted also with a number of test cases.

Out-of-the-box payments

PayPal, Braintree, and Authorize.net payment gateways are now a part of Magento 2 out of the box.  Magento Enterprise Edition 2.0 also integrates with WorldPay and CyberSource.

CSS preprocessing

LESS the CSS preprocessor is now built into Magento 2. LESS extends CSS with variables, mixins, operations and nested rules — making life a lot easier for frontend developers.

Database optimisation

Magento 1.x on a site with high traffic suffered periodically from performance issues related to table locking in the database. Some user actions require that some of the tables in the database be locked for other users. In a high volume situation, this can result in system crashes and performance issues for the end user. Magento 2.0 brings database optimisations that address with this problem and significantly reduce occurrences.

Should you upgrade to Magento 2?

If you are starting a new site, I would say, go for it! Definitely! New optimised code base, performance upgrades and streamlined customisation is something to embrace wholeheartedly.

The decision gets a bit more difficult if you are looking at the possibility of upgrading an existing site.

Magento 2 includes a data migration tool for existing Magento 1 sites, but all extensions, customization, and theming will need to be rewritten. This can be a massive undertaking if your website has a lot of customization. It will take some time for the very large body of existing extensions to be updated.

Magento’s official position is that they will continue the support for Magento 1 for the foreseeable future [4]. This means that security patches will be available for older sites but this may be subject to change. Companies prolong their support, only if they assess that it is in their best interest to do so.

At this point there is no urgency in upgrading existing Magento 1.x sites to 2.0 but long-term architectural plans need to include this upgrade when creating the road map.

Article mostly based on the work of Farshore, found here.

[1] https://en.wikipedia.org/wiki/Magento

[2] https://darshanbhavsar.wordpress.com/2015/02/03/magento-2-directory-structure/

[3] https://www.maxpronko.com/blog/magento-2-development-design-patterns

[4] https://magento.com/blog/magento-news/ongoing-magento-1-support


Leave a Reply

Your email address will not be published. Required fields are marked *