As everyone knows, Magento 2.0 was released on 17th November 2015 after more than 4 years of development. Of course, Magento 2.0 will include more advantages than its first version-Magento 1.0, so do you know what differences between Magento 1.0 and Magento 2.0 are?
What’s Difference Between Magento 1.x and 2.0 ?
1. The newest technology stack
|PHP||Magento 2.0 is built by using PHP 5.5 and 5.6 by default. In addition, it will also work with PHP 7. As a result, Magento 2.0 platform will run much faster and significantly a coding routine.|
|Zend Framework||Magento 2.0 does not directly base on Zend Framework 1, it uses its own adapters and interfaces used for linking to Zend Framework 1 components. Therefore, using official Magento framework APIs is highly recommended to avoid troubles related to an internal change of platform.|
|PSR||Magento 2.0 technology stack includes from PSR-0 to PSR-4. (PSR-0: the default autoloading standard; PSR-1: basic coding standards; PSR-2: coding style guide; PSR-3: logger interface allowing admin to write reusable code independent from any essential logging implementation; PSR-4: PSR-0 replacement).|
|HTML5||HTML5 is the newest version HTML code, which is applied in Magento 2.0. HTML5 helps to simplify development and presents potential abilities to become a vital Magento 2.0 technology stack component.|
|CSS3 (LESSpre-processor)||Magento 2.0 uses LESS and CSS in the theme core. LESS preprocessor and LESS PHP adapter enable the use of LESS inside the platform. In turns, links from CSS source files are resolved and replaced with the correct ones by CSS URL.|
|RequireJS||RequireJS is a file and module loader optimized for in-browser use, it enhance the speed and quality of the code.|
|Apache||Magento 2 requires Apache 2.2.x or 2.4.x.|
|Nginx||Nginx is a reverse proxy server for such protocols as HTTPS, HTTP, POP3, SMTP, and IMAP. Nginx also is a load balancer, an HTTP cache, and an origin web server.|
|MySQL||MySQL helps to save time and money powering your high-volume Magento 2 project. It is used during the re-indexing process.|
|Gulp||Gulp supports much faster-building processes and streamlines deployment. It was developed to connect community-developed micro-tasks in mind.|
|Twig||Twig is a fast, flexible and secure PHP template engine supported in Magento 2.|
2. Magento 2.0 file structure
As you can see from above image, there are some changes in Magento 2.x with the objectives of enhancing users’ experience and management. Some folders are removed, some others are grouped into one.
- media and errors folder are moved to pub folder
- skin and js folder are moved to pub/static folder.
- js, css, images are divided into pub/static/adminhtml and pub/static/frontend for backend and frontend area respectively.
- dev folder contains many tools for developers as migration tools and tests. shell is moved to dev folder
- downloader, includes and pkginfo folder are removed from Magento 2.0.
- setup directory is for installation process
- get.php, cron.php and index.php files are moved to pub folder.
In term of theme, each module has “view” folder which includes its layout file, and template file. skin directory is removed from the root, therefore, users do not have to create a folder inside skin as in Magento 1.x, they can subsume them (moldule specify js, css, images) into web folder of each module. Theme structure in Magento 2.x looks like‘app/design/frontend/vendor_name/theme_name’.
In module folder, there are some additional directories: Api_files related to Api; etc_ config files; i18n_translation files; plugin_ necessary plugins; view_layout, template, js.
3. Frontend- Backend
In the backend, the newest display is divided as its main functions, therefore it is easy and friendly to use.
Admin Dashboard displays useful information and allows finding in stores.
– New indexer system
– Full page cache and varnish cache are combined.
– Additional functions: Product video
– Minify css, js
The system upgrade tools are design with more friendly and allow users easy to manage and change as their wishes.
The new inherited theme mechanism allows users to customize theme at easen and reduces the recoding problems. In addition, Magento includes new import/export systems in its version 2.0.
Magento 2.0 includes more useful features when comparing with Magento 1.x, for example, it adds ajax cart, one page checkout which provides quick and convenient checkout step. It does not use bootstrap however, there are particular css library which uses less.
4.Magento 2.0 Installation
To install and set up Magento 2.0, users’ website requires to install Apache 2.2-2.4; PHP 5.5.x, 5.4.11; and MySQL 5.6. After meeting these requirements, users will do as following steps:
Step 1: Install the newest xampp
Step 2: Fix php.ini file, remove extension=php_intl.dll
Step 3: Coppy Magento 2 source code to htdocs file
Step 4: Install Magento 2.0 in web display (do as same as Magento 1.x)
Step 5: After completing installation process, use ‘cmd’ to move to magento root folder, then run ‘php bin/magento setup:static-content:deplov’. Let gen all js, css, template… files of theme in public/static folder, delete cache folder and reload the page. You will finish the installation process.
There are some comments and notes during installation:
- If error happens in admin redirect loop, you need go to database to change base url from localhost into 127.0.0.1
- After finishing installation process, you need reindex-data, because Magento 2 does not support handwork reindex, you must go to system>index management, and select “update by schedule” with all indexer. Then you use “cmd” to move to magento root folder and run php bin/magento cron:run to enable reindex-data.
5. Should you enable Magento 2.0?
It is hard to answer this question about how and what is the right time to upgrade a website to Magento 2.0 because it depends on many factors. Firstly, if your site is performing well with the current version of Magento, you are not urgent to upgrade Magento 2.0. However, you still need to explore about Magento 2.0 and check whether your site is ready to be upgraded. In addition, if you want to create a dynamic change in your site or your current Magento platform is not too updated, it’s time for you to install and use Magento 2.0 platform. To update Magento 2.0, you really need to take care of some main following problems:
– You should make a detailed plan to upgrade your website because upgrading a website should be done logically and followed reasonable steps to ensure your site can run smoothly.
– Clear understanding and detailed budgeting plan are also necessary. As you know, Magento 2.0 is the newest version of Magento platform, when you upgrade your website with Magento 2.0, you need to promote every extension to conform with Magento 2.0 platform. This can take a large amount of investment with the requirements that all recommended extensions are ready to be installed to support your site.
With two main recommendations as above, you should make a clear strategy before making final decisions, especially with Magento 2.0, which can create a big revolution to your website in positive or negative effect!