What’s Best for Your Storefront in 2016: Spree vs Magento Comparison

RubyGarage
Prototypr
Published in
8 min readApr 27, 2016

--

If you want to build a web storefront, you will either choose between Magento or Spree developers to implement it. RubyGarage is Spree’s certified partner and we also have Magento developers, so we can deliver estores of both types. However, if you’re planning to build your own storefront, which option is the best for you?

Let’s review both options from the professional point of view and see what they can offer.

First, we need to figure out the current development state of each platform and the versions we’re going to compare.

Magento: Nine Years of Success

In 2001, Roy Rubin was still a student when he launched Varien, a web development company. In 2003, he found out about an open-source CMS called OSCommerce that was raising popularity. Indeed, Roy found a lot of clients wanting to build products on top of that system, but the more his company was getting expertise in that platform, the more he saw its limitations.

In 2007, Varien released Magento, an alternative to OSCommerce built using PHP, MySQL, and Zend Framework. It immediately became a game changer on the market, introducing scalable and upgradeable architecture, allowing plugins, modules, packages and, finally, templates and great performance. By the end of 2008, it already had 500,000+ downloads and 60,000 members.

No wonder that in 2011 Magento was acquired by eBay for $180 Million. During the four-year period, the company grew revenue five-fold and added a few e-commerce-related innovative products. At some moment, the word “magento” was googled more frequently than “e-commerce”.

However, in 2014 eBay was forced to spin off a few its daughter companies, so since November 2015, Magento is an independent company owned by Permira private equity fund. The current Magento’s CEO Mark Lavelle was extremely excited about such news, saying in his letter that now Magento will get its independent voice and unleash the full power of the brand.

A week later, on November 17 Magento 2.0 was released, offering “next-generation architecture”, “unmatched flexibility”, “engaging customer experiences” and “revolutionary merchant experience”.

Bottom line

As of 2016, Magento is doing well, boasts a 30% share of the e-commerce market and has positive perspectives for further growing.

Spree: New Chapter, New Roadmap

The Spree Commerce project was launched by Sean Scofield, a programmer and entrepreneur back in 2007. Its main advantage as of an open-source project is being written in Ruby on Rails, one of the best frameworks for rapid and effective web development.

As a result, Spree’s core has only ~45k lines of code, while Magento’s one has over 8.2m lines. Such approach positively affects Spree’s performance, flexibility and maintainability. But although both Sean and Roy started their projects at the same time, Spree 1.0 was released only in February 2012, which is why this platform may sometimes be treated as immature and not reliable enough.

During 2011–2014, Spree was funded twice, getting $6.5 million for further development. Being innovative in many aspects, the project had been quickly gaining popularity, until on September 21, 2015, the platform was acquired by First Data, a global company offering payment technology solutions.

In his comment to media, Sean explained that now his team will focus on delivering new products for First Data Corporation based on Spree. And the Spree project itself will get significantly less attention from its core contributors.

Finally, it turned out that another web development team called Spark Solutions has taken care of Spree a couple of months ago and will continue supporting and developing it.

Their 2016 roadmap reveals that the new Spree team will provide support to its current clients, update the platform to be compatible with current Rails/Ruby stack, and stimulate the community around Spree to further develop it.

The latest major version — 3.0 — was released in March 2015. Now the project is updated every couple of weeks with minor improvements, having the 3.0.8 stable version as of April, 7.

Bottom line

Spree has been the most popular platform people chose to migrate to from Magento in 2015 and was often treated as the “Future of e-commerce”, but now this future is somewhat fuzzy.

As you see, Magento and Spree are not simply two different platforms, they represent two different development approaches. Magento is being developed by a group of full time professionals hired for that cause. On the contrary, people who support and improve Spree are enthusiasts who prefer open source (and there are over 600 of them).

Under-the-hood comparison

First and foremost, Magento and Spree offer two different ways of using it. Magento is an all-in-one platform that provides lots of features as core functions. Spree is a Rails Engine that can be built into or supplement any other existing Rails applications. For instance, you can build a web solution running Spree to power its ecommerce part, Refinery for content management and Forem for forum functionality.

Such difference makes dramatic impact on the workflow process and here’s why.

Backend Interface

Magento’s interface for site administrators boasts tons of functions immediately after installation. That’s great, as you don’t need to install them additionally and can quickly set up most of the necessary functionality, but it also inevitably makes the interface a bit overloaded with buttons, menus, lists and tables. Lots of options available by default may confuse a novice user, and some simple actions can be hard for remembering even for a pro.

As a result, Magento’s rich functionality will most probably require more efforts to be learned and keep your product base organized and provide customers with lean experience on your website.

Spree, on the contrary, was built around simplicity and aimed to help developers be focused on their goals. Its clean interface provides fewer sub-menus and tables. All additional options can be installed if required as extensions, so you’re always in control of the backend interface.

Code base

As it was said above, Magento is written in PHP and PHP-based Zend framework, while Spree is done in Ruby, specifically, in the Ruby on Rails framework. RoR is currently one of the most efficient ways to develop web apps. The Ruby on Rails guidelines force developers to write an extremely structured code, while PHP guidelines are not so strict. In practice, it means that implementing additional features will take less time in Spree and require 10x fewer lines of code that Magento. And lots of code on the server side may affect its performance and make your storefront work slower.

Due to 8 million lines of code Magento also has a complex architecture. We know how it works, but if you’re going to hire a developer who’s not familiar with Magento, they will require a significant amount of time to get into it. And thanks to the fact that Spree is very minimal in its code, chances are any developer will almost immediately learn how it works.

Features

Since Magento comes with numerous additional features out of the box, you will deploy a complex yet standardized solution more quickly with it. However, lots of Spree extensions will often address your needs as well. Moreover, since Spree is done in Rails, you can also take advantage of numerous Rails plugins allowing endless possibilities for adding functionality to your product. Finally, Spree is done to be customized as easily as possible, so even if there is no extension or plugin fulfilling your specific needs, we can write it from scratch.

To show the difference in practice, here a few examples of useful functions that Magenta has and Spree lacks out of the box but can get via extensions or additional development:

  • Multi-store management by a single admin
  • Product comparison functionality
  • Blogging tools (a standalone blogging Rails engine will best complement a Spree installation, so here you have a choice)
  • Configurable product search (requires implementation from scratch via ElasticSearch or similar tools in Spree)
  • Real-time shipping rate lookup (requires spree_active_shipping extension in Spree)

Pricing

Both Spree and Magento offer open-source versions, which means they are totally free for downloading and installing on your own server. However, while Spree is a unified solution, Magento is represented in two products: Magento Community and Magento Enterprise.

Magento Community is an open-source version offered for free, but the problem is that it is very limited and in addition to that hardly optimized. Unless you have enough enthusiasm to invest dozens of hours in optimizing it and tailoring it to your requirements, we don’t recommend it.

Instead, most clients prefer Magento Enterprise. This is a paid solution, but its final price varies based on your needs. Just to provide you with a big picture, its cost starts at $15,000 per year if you need basic functionality and may go up to $200,000 if you’re going to build a highly sophisticated e-commerce system.

Yes, for that price you get faster indexing, full page caching, better scalability, and these are the features that Magento Community lacks. However, note that you will also need to pay the developers to turn the raw platform into the solution you want.

Big Bottom Line

Both Magenta and Spree are now mature platforms allowing to build complicated web storefronts. However, Spree is much easier to customize and thus is a better choice for those who require unique functionality or want to build a small storefront quickly. Magento, on the contrary, is an all-in-one solution for standardized e-stores, and the more features you need and products you’re going to offer, the better option Magento becomes for you.

In other words, Magento is a great choice for established e-commerce businesses requiring solid yet common web solutions. Spree has been having a spirit of startup, just like Ruby on Rails, and so is a great option for startups trying to reinvent ways the customers can be treated on the Internet, offer new approaches and implement unusual functionality in addition to the basic standard e-commerce core.

Originally published at rubygarage.org.

--

--

RubyGarage is a top-of-the-line Ruby on Rails development and consulting company from Eastern Europe. Learn more about us https://rubygarage.org