News

Spree: A Rails E-commerce Solution for Developers

Written by UI-Staff

Spree Screenshot

In the midst of researching open source apps for a new project we're architecting, I've found a pleasant new ecommerce tool for Rails developers. Named Spree, this application aims to provide a solid framework for Rails developers to create engaging ecommerce solutions. Having worked extensively with a variety of popular ecommerce tools, like Shopify, Magento, OSCommerce, etc., I'm refreshed by Spree's architectural vision. This vision, which I'm grossly condensing into the parts that made me happiest, are as follows:

  1. No solution will satisfy everyone. Spree covers 90% of the functions developers will need. The last 10% is up to the developer.
  2. Online Commerce is not for "Noobs." Spree is not marketted towards business owners, instead its marketed towards developers – the people responsible for satisfying business end goals.
  3. Developers need complete control. Businesses are like people and no two are exactly alike. Spree is designed with a sane and flexible architecture that can be customized to achieve specialized rules like shipping and taxation.

After spending just 10 minutes to download and install the application, I had a fully functional site ready for customization. Magento is close in terms of ease of installation, but I was much more impressed with Spree's out-of-the-box setup process. As a quick and debatably useful point of reference, a sample store in Spree contains about 1,000 files while the last Magento project we completed contained almost 25,000. This is not meant to beat up on Magento – I think Varien has some extremely talented engineers working on a great product – but simply an illustration.

'Here, There Be Dragons'

What makes Spree such a promising platform to me isn't what features it includes, but what features it doesn't. Any developer knows the dangers involved in customizing monstrous open source projects. The codebase of a program grows linearly, in best cases, with the number of features that program supports. More features means more concepts that a developer will need to grasp before any sort of customization can take place. The larger the project, the greater the complexity and the more fearful developers are likely to be when overriding decisions made by the original authors. I call this the "Here, There Be Dragons" dilemma of modern software and abstractions at large. Developers want the highest number of features with the lowest level of complexity. These are often two conflicting goals, and developers are usually forced to pick one and live without the other. I could write a whole other post about this topic, but I'll save that for another time.

Check it Out

It's refreshing to finally find a solid piece of software in the Rails community which fears the same things that I do: unmanageable complexity. If you're looking for Rails-based ecommerce solution, I highly advise you to check out Spree.

www.spreecommerce.com