I’ve read quite a few blog posts comparing PrestaShop and OpenCart. Both systems are quite good in terms of functionality and OpenCart has certainly come a long way in terms of functionality, but if you’re a developer or ever intend to make any changes to the system one thing you should be concerned about over and above functionality is how the system is built. OpenCart is built very cleanly and in a very minimalistic manner so making changes is easy for anyone familiar with PHP and the MVC pattern. This is how modern PHP applications should be built. When you look at the code behind PrestaShop you can see that every single module generates lots and lots of HTML directly out of classes by effectively string concatenation. This is BIG BIG NO NO. No self-respecting modern PHP developer would ever consider doing this. This is absolute and utter rubbish. Mixing code and html like this results in spaghetti code and is poorly maintainable. You should NEVER do it, it belongs in the nineties or early naughties, not in 2013!!! I’m extremely disappointed to see this kind of poor programming in 2013. If all you care about is functionality then perhaps PrestaShop is the way to go, but if you care about the architecture and want to make changes and enhancements which requires programming then OpenCart is probably the better option. PrestaShop certainly does have a lot more module and it’s a lot more commercial, but to get a real store up and running you’re most likely going to have to spend a fair bit more money and if you’re looking to make enhancements there’s a good chance you’ll run into all sorts of issues. Have a look at some of the negative reviews on to get a real feel for the issues as they’re the ones that will cause you problems.