Choosing the Right Open Source Technology

 
avatar

Once you have decided to build your store using open source (presumably based on one of the many excellent reasons for doing so), it's now time to consider which technology is best for you. There are many options to choose from, so let's talk a little bit about how to pick the right technology.

Language

The primary language of most open source commerce platforms is PHP. PHP is a very reliable language that has been around for a long time. There is a well established pool of developers out there that work with this language and it's particularly well suited for the types of projects that most small businesses would be interested in. PHP is supported by every major hosting provider and it's pretty easy to learn, as far as programming languages go. There are many excellent frameworks and tools built on PHP (such as Drupal and Joomla), as well as hundreds of easy to use tools.

In my experience, PHP is a very fast language to develop with. You simply grab some of the existing projects out there and cobble them together to suit your needs. It's not terrible, and it's much better than Java for getting a job done quickly. The main drawback to PHP is that it does not scale as well as Java or Ruby. Once your site starts to grow, you may find it does not perform very well without expensive server upgrades and/or tuning. It's also incredibly hard to maintain a PHP project over time. So there is a cost of ownership issue that you should consider. Short term gain, long term pain. That doesn't mean I would advise against using PHP for a project. It's usually the cheapest and fastest way to get a simple project off the ground.

Ruby is the other major player in this area. Ruby has actually been around for many years but it has gained a very large following with the advent of the Ruby on Rails framework (which this site currently runs on.) Ruby is relatively new to the e-commerce game, but there are now some well-established options from which to choose. Ruby developers are harder to find and cost more than PHP developers, but the choices tend to scale better and are easier to maintain. (Full Disclosure: I am the creator of a Ruby e-commerce framework.)

Strength of Community

I would argue that the actual technology used is not nearly as important as the quality of the community surrounding that technology. Before settling on a technology, you should investigate some of the following considerations:

Developers are the Key

The real key to a successful project is to hire the right developers. There are great developers using all of the available technologies; so there is no correct choice when it comes to picking one. My advice is to pick the right developer (or team of developers) and go with the technology that they are most experienced with. In my next article, we'll go into some specific strategies on how to choose the right developer shop.

Update: OK, I've corrected the reference to Django being a PHP application. It was an oversight. We all know that it's Python and it should also be noted that a flame war arguing over which language is best is not the goal of the article.

Category: Open Source eCommerce | Tags: series

15 Comments

Rss-sm

Sign-up to receive EcommerceNotes, our acclaimed email newsletter.

View A Sample | Privacy

Connect with us

Bloggers Wanted

We’re looking for merchants and other ecommerce professionals to share their experiences with our readers. If this interests you, we invite you to contact us.

Help

Featured Tags | All A-Z

 

Inside Practical eCommerce