Posted by Justin Daining: Sun, February 19, 2012 - 2:20pm
First of all, let me introduce myself. I am Justin Daining, the new web developer at The Image Shoppe in Grand Rapids, Michigan. I have been building eCommerce websites for the last four years and have learned a thing or two along the way.
In my experience, developing an eCommerce site is a lot like dating a high-maintenance person. Because of the territory, you have to deal with clothes, hair and accessories (product, cart, and checkout layouts) and the constant gaze of onlookers (security and support).
With those things in mind, let me tell you a little about my experience with this high-maintenance signifcant other—I mean—eCommerce.
My first experience came in the form of Zen Cart. I had just started at my first web development job and was thrown right into the deep end. It took time, but as I got more familiar, I was able to build stores that looked and acted unique, but there was always that "Zen Cart Feel."
Zen Cart has a brilliant "Developers Tool Kit" that makes finding templates a breeze. The search function is powerful enough to find language and template files in two searches or less. While this makes for an easy template editing experience, it can be very time-consuming when editing a site that requires large-scale customization.
Security and Support
The Zen Cart support forums are great. Most of my questions were answered within 24 hours by people who knew what they were talking about. About 95% of the time I found answers before I had to create a new post. In terms of security, the only problems I had revolved around strange SSL certificate behavior.
When Magento first hit the market it was touted as the most powerful eCommerce solution in the world. My first Magento project was fun, but took me almost twice as long as a typical Zen Cart site. In the end, I ran away from Magento and I haven't looked back since.
Magento's template system is monstrous. The layout files are hidden deep within the file structure and even then, they are so scattered that it takes time to nail down a development process. Couple that with the confusing CMS feature within the Magento control panel and you have a big cluster___ (you get the point).
Security and Support
The Magento support forums are downright inadequate. I could usually find my problem, but there were no answers from Magento staff or more "in-the-know" community members. In the midst of the chaos was a gem of a book written by James D. Ballotti called "Grow With Magento."
Security is also a nightmare with Magento; it is notorious for being vulnerable. Updates are also a problem due to their regular new releases. This became a glaring issue when I needed to update a site to a newer version, but was unable to since there had been too many updates since the original site installation.
Let me start by saying this: I am an ExpressionEngine developer. I love ExpressionEngine. When I found out there would be an eCommerce solution that would fully integrate with ExpressionEngine, there was much rejoicing (yaaayyyyy).
My first CartThrob build was glorious. It also happened to be the first time I developed an eCommerce site with a smile on my face. CartThrob's extensive list of ExpressionEngine tags made sense, and were easy to integrate into the site's design. Everything from the product list to a beautiful, single checkout page was easy to integrate into the look and feel of the rest of the site.
Security and Support
CartThrob has excellent support forums, with their staff typically replying to questions posted within hours. I had a problem with a custom payment gateway and my question was answered with an email containing the fixed file. I was blown away. Security-wise, CartThrob lives within your ExpressionEngine install, so it’s as secure as you make it. I haven't had any trouble so far.
Zen Cart: Old faithful, but also outdated = truly high-maintenance.
Magento: Young, unfaithful, and way too complicated = high-maintenance, with a significant dose of psycho.
CartThrob: The perfect match = no maintenance.
If you aren't familiar with ExpressionEngine, go learn it. Once you've done that, introduce yourself to CartThrob. Cartthrob is the soulmate you tell your parents about, marry, have kids with, and live happily ever after with in some tropical paradise.