How is magento 2.0 different than 1.9 technically speaking?
If you are talking about tech stacks here is the complete details — Technology stack
But above are tech stack how it is different from previous version or any other framework is their design pattern and adaptability like dependency management .
And i think that is true power of magento2 + forcing you on following standards e,g (MTF — Magento Testing Framework guide).
we are constantly building Modules and extension for magento2.0 so we experience it every day Magento2 Extensions and Modules
Why Dependency Management is so important and why Magento2.0 is so unique ?
if you will check the modern design or programming paradigm you will realize that NPMand RUBY have great influence over dependency management and thats how to adapt the same in PHP — community developers have introduced composer a dependency Management tool which comes in built with magento and it is in the core of magento . Previously i was thinking about magento1.x.x as more like a platform instead of framework but magento2.0 in my personal opinion is complete platform + framework .
If you will check you will find magento composer.json file loads tons of packages from symfony2 as well which in my perspective is great and it opens the door to adapt more and more bundles .
Enforcement to write better code — PHP as a languages is good but i think what makes it great is the frameworks like symfony2 — please have a look a complete talk of Fabien Potencier dotScale 2014 — Fabien Potencier — My Take on PHP
and the same thing is happening at magento2.0 core it forces you to write test casesmainly PHP community dont write test cases which is really bad (i dont think all of them but still ratio is quite large) if you are writing code on ruby or any other it forces you to write the test cases from the very beginning and magento2.o does the same . You may check magento2.0 github for that .
As an example if i am checking magento2 checkout bundle you will realizemagento/magento2 there is separate folder for test (unit test)
So framework forces you the write the better code .
so as i think magento2.0 having a great tech stack but that can be opted in magento1.9.x as well i am more kind of happy because of brilliant design paradigms
Full Tech stack of magento2
Magento technology stack
Magento’s highly modular structure includes the following open-source technologies:
- Apache 2.x
- Nginx 1.7+
- 5.5, 5.6x, 7.0
- MySQL 5.6.x
- MySQL Percona 5.6.x
Reverse Proxy/Web Accelerator
- Varnish 3.x
- Varnish 4.x
- Redis 2.x
- Redis 3.x
- Memcache 1.4.x
- Solr 4.x
- CSS3 (LESS CSS pre-processor)
- Third-party libraries (Zend Framework 1, Zend Framework 2, Symfony)
- Coding standards PSR-0 (autoloading standard), PSR-1 (basic coding standards), and PSR-2 (coding style guide), PSR-3, PSR-4
- Composer (dependency management package for PHP)
Optional stack components include:
- Varnish (caching)
- Redis (used for session or page caching)
- Solr (search engine)
Magento is compatible with but not supported for:
- HHVM 3.9 PHP interpreter
Magento also provides an automated testing suite that includes test scripts for integration, functional areas, and performance. Components include PHPUnit for the unit test framework and Selenium for the functional test framework.
This framework is included in
. For more information, see Magento Testing Framework guide.