I’ve been working with Magento Ecommerce lately, an ecommerce platform that is becoming more popular, and I thought I’d share a few random impressions in case someone else out there is considering using it. Here they are:
1. Magento is much better than most of the alternatives.
The popular PHP open-source competitors are OSCommerce, ZenCart, QuickCart, and X-Cart. There are others, but these are the ones I see most often. I haven’t used QuickCart and X-Cart much, but I’ve worked on multiple sites with the first two, and they’re all universally terrible. It’s hard for me to imagine a piece of software more poorly designed than OSCommerce is. There are no “modules”: plugins are “installed” by following directions in a text file to hack the application core. Stuff like: “open cart.php, find line 37, which should look something like this, and paste this in after it.” This means that after you install a few plugins, you can never upgrade the core, and you’ll have more and more issues installing future plugins, because the core code won’t look like those text instructions expect it to. Truly awful. If you designed OSCommerce, you should be ashamed of yourself.
By contrast, Magento is pretty clean, follows a standard, uses object-oriented design patterns, and is completely modular.
2. Magento still is pretty terrible.
The main issue I have with Magento is the documentation. Specifically, that there isn’t any. It’s an incredibly powerful ecommerce platform, built around an extensible architecture that developers can extend, and the docs would all fit on a few sheets of paper. It’s very, very frustrating, and even more so because the business model of the company who produced Magento apparently is to sell subscriptions to the “Enterprise Edition” at $12,000 a year, so they have little incentive to create good docs to help developers avoid the need for their expensive services.
3. If you can, use Shopify.
Ecommerce is a fairly complicated area and the software generally reflects that. So if you can avoid reinventing the wheel, you should. You can do this via using open source platforms like Magento, but you’ll still spend a pretty penny on design and development talent. Another way to go if you need something a little less flexible are hosted ecommerce offerings like Yahoo Stores or Shopify. From what I’ve seen of Shopify, they offer an incredible value for people just getting started in ecommerce (and even some pretty big stores) for a very reasonable price. And you still have the option of customizing things to a great degree. However, there will be those times when you just need more control than hosted solutions offer. And when those times come, I can honestly say that Magento is a great solution. Just be prepared to pull your hair out for a few weeks (or months) while you learn your way around.