As discussed in the previous blog post comparing magento vs shopify . In this blog we will discuss about open source offerings like Magento , Opencart , Prestashop ,woocommerce , joomla and cs-cart .
In this blog post we will discuss about magento vs opencart . As both are the dedicated commerce platform unlike virtuemart or woocommerce .
Opencart Multi vendor Marketplace -https://store.webkul.com/OpenCart-MarketPlace.html
Magento 2 Multi vendor marketplace - https://store.webkul.com/Magento2-Marketplace.html
Magento Multi vendor marketplace - https://store.webkul.com/Magento-Marketplace.html
First and foremost both of the platform are brilliant and contains all the modern commerce features including complete catalog , shipping and payment management with brilliant ACL system . Instead of discussing randomly i will discuss things point by points
Both of the platform have enormous support from the developer community . As both of the platform are based on PHP and PHP community support is really great . There are independent developers and companies are also sharing their knowledge
Even magento have their dedicated stack overflow channel as well along with their forum . Opencart community is more active in native opencart forum
About community support i think both of the platform are great and good amount of community support exist for both the platforms .
Also both the platform have their dedicated marketplace , almost all kind of extension are available there .
Technology Adaption and Futuristic Approach
As explained earlier both of the platforms are great to build dedicated commerce store . But i think magento leads here in terms of tech adaption specially magento 2
Magento 2 includes lots of interesting tech stacks like knockoutjs , Symfony2 approach , dedicated UI component , Dedicated services contracts and dependency injection . That ok , look like little alien for a non tech merchants but does it really count ?
But above are tech stack how it is different and better 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 (https://store.webkul.com/Magento-2.html )
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 NPM and RUBY have great influence over dependency management and thats how to adapt the same in PHP - community developers have introduced composer (https://getcomposer.org/) 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 magento 2.0 core it forces you to write test cases mainly 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 magento 2.0 github for that .
As an example if i am checking magento2 checkout bundle you will realize magento/magento2 (https://github.com/magento/magento2/tree/develop/app/code/Magento/Checkout ) there is separate folder for test (unit test)
https://github.com/magento/magento2/tree/develop/app/code/Magento/Checkout/Test/Unit (https://github.com/magento/magento2/tree/develop/app/code/Magento/Checkout/Test/Unit )
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
It doesn't means that opencart is poor in code or not good enough . It is , opencart is good as well but lacks some of the features which are really important for now a days as commerce are getting complex everyday and if we are talking about marketplaces thats way to complex at the same time .
Opencart in their latest releases includes composer as well https://github.com/opencart/opencart and they are including a lot of changes as per their uservoice
So clearly in this part magento leads as compared to opencart .
Multi vendor marketplace means lots of products , vendors , traffic and buyers . And for that your system need to be scalable enough to handle the traffic .
The biggest confusion and many times people ask the same question “Does your marketplace offering support this amount of traffic ?” well performance or scalability does not solely depends upon the platform , it does depend upon your server architecture and your server performance / hosting as well .
As you can run opencart in any shared hosting supported by opencart tech stacks . Magento will not work at all specially magento 2 . Magento 2 requires dedicated server support . There are pros and cons as well for both the scenario . I will explain everything in details .
Opencart for sure a lightweight and works perfectly fine with shared hosting as well as dedicated one . Which i highly beneficial for startups mainly in developing nations .
But if you are thinking to go with marketplace business model , i would suggest to have a scalable hosting ( http://cloudkul.com/ ) like amazon cloud or google cloud . Recently amazon released very cost effective solution for VPS , Amazon lightsail - https://amazonlightsail.com/ .
As discussed earlier , your marketplace speed performance does not totally depend on the platform there are loads of factors -
1 - Bad code e.g. calling product model within loop both in magento and opencart . This was just an example there are 1000’s of mistakes developers do so instead of putting extra hardware or using cache handlers i would suggest to debug the code for optimisation using standard tools like black fire - https://webkul.com/blog/blackfire-load-testing-magento-magento2/ .
2 - Poor Server architecture - As we also offer cloud based hosting based on AWS http://cloudkul.com/ most of the time we found that , developers dont use compatible packages like most of the people are using LAMP stack or some of them are using nGinx instead of Apache .
Many of them are using outdated version of PHP and MYSQL and still many of them are not using optimisation guidelines https://developer.yahoo.com/performance/rules.html
3 - PHP7 , Opcode Support and Full page cache - Php 7 is magic for sure and improve the performance by leaps and bound . Here Magento specially magento 2 takes the position . Magento 2 support Php7 in its core with supported full page cache . Which lacks in opencart .
Also in magento almost all the popular cache handlers are supported including memcached , redis, varnish and nginx and many more . Those are supported in Opencart as well but more suitable and compatible support are there in magento .
So what is the conclusion then ?
As per my personal opinion you may choose any one of them for the marketplace choice both platform are great and scalable as well . You can easily find the difference above which i have explained . Still have any query or questions please don't hesitate to ask