|custom procedural coding vs framework|
I have elected to create my own custom e-commerce site, using my own procedural code, to allow me full control over the site.
Asides from having to write a lot of extra code from scratch and testing thoroughly, what are they other potential downsides to creating an e-commerce site this way? Rather than using Magento for instance?
The only downside is just the shear amount of code you'd have to write: coupons, loyalty programs, shipping rate providers, sales tax rate providers, payment gateway integration, refunds, phone orders, product ratings, kits, packs, upsell items, related items... whew. A million lines of code for a single site doesn't sound like the best use of your time.
Not to mention the maintenance factor- most code needs updates. This will require continued use of your time, or of a programmer who you will have to spend a lot of time teaching your code (as opposed to a programmer who already has Magento experience).
But since you can write your own hacks for Magento, it seems like using it for the core of your site and creating your own customization may be a better way to go.
I developed my own e-commmerce application instead of using a third party solution. I have worked on a few e-commerce applications before, so I'm pretty familiar with the concept.
- Learning curve for new developers. Since this would be an in-house application there could be a learning curve for new developers.
- Less features. It could take you a long time to develop all the features a 3rd party solution may have.
- Time consuming. Since you are doing this yourself, it will take more time.
If you were writing a feature by feature copy of magento I'd say no, that is silly. If you were writing a lean ecommerce solution to fit your needs I'd say yes, go for it. I've written about 5 different platforms now all still in use today. Both in asp and asp.net. Product catalog sites can be extremely complex code wise because of the shear amount of scenarios. If you have narrow requirements you likely don't need a lot of those features.
Having written commercial ecommerce software for 8 years as my job - DON'T DO IT FROM SCRATCH!
There are so many issues and gotchas, security stuff that you'll run into that starting with something already proven and tested is the only way to go. I'd look over the cart functions with a fine-toothed comb, esp. the payment gateway integration and make sure those CCs are 100% secure, never stored in a session file, yada yada.
As a matter of fact, consider making your run-time site encrypted with Zend or IonCube if it's PHP so that in the event you ever get hacked, hackers can't drop a line of code in your store to send plain text CCs which I've seen done more than once.
FWIW, having the store encrypted keeps nosy people out of your site on a shared server in case they manage to escalate their privileges, or happen to work for the host as not all IT people are so trustworthy.
Never can be too safe.