This website uses cookies to better the user experience of its visitors. Where applicable, this website uses a cookie control system, allowing users to allow or disallow the use of cookies on their computer/device on their first visit to the website. This complies with recent legislative requirements for websites to obtain explicit consent from users before leaving behind or reading files such as cookies on a user’s computer/device. To learn more click Cookie Policy.

Privacy preference center

Cookies are small files saved to a user’s computer/device hard drive that track, save, and store information about the user’s interactions and website use. They allow a website, through its server, to provide users with a tailored experience within the site. Users are advised to take necessary steps within their web browser security settings to block all cookies from this website and its external serving vendors if they wish to deny the use and saving of cookies from this website to their computer’s/device’s hard drive. To learn more click Cookie Policy.

Manage consent preferences

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
Cookies list
Name _rg_session
Provider rubygarage.org
Retention period 2 days
Type First party
Category Necessary
Description The website session cookie is set by the server to maintain the user's session state across different pages of the website. This cookie is essential for functionalities such as login persistence, ensuring a seamless and consistent user experience. The session cookie does not store personal data and is typically deleted when the browser is closed, enhancing privacy and security.
Name m
Provider m.stripe.com
Retention period 1 year 1 month
Type Third party
Category Necessary
Description The m cookie is set by Stripe and is used to help assess the risk associated with attempted transactions on the website. This cookie plays a critical role in fraud detection by identifying and analyzing patterns of behavior to distinguish between legitimate users and potentially fraudulent activity. It enhances the security of online transactions, ensuring that only authorized payments are processed while minimizing the risk of fraud.
Name __cf_bm
Provider .pipedrive.com
Retention period 1 hour
Type Third party
Category Necessary
Description The __cf_bm cookie is set by Cloudflare to support Cloudflare Bot Management. This cookie helps to identify and filter requests from bots, enhancing the security and performance of the website. By distinguishing between legitimate users and automated traffic, it ensures that the site remains protected from malicious bots and potential attacks. This functionality is crucial for maintaining the integrity and reliability of the site's operations.
Name _GRECAPTCHA
Provider .recaptcha.net
Retention period 6 months
Type Third party
Category Necessary
Description The _GRECAPTCHA cookie is set by Google reCAPTCHA to ensure that interactions with the website are from legitimate human users and not automated bots. This cookie helps protect forms, login pages, and other interactive elements from spam and abuse by analyzing user behavior. It is essential for the proper functioning of reCAPTCHA, providing a critical layer of security to maintain the integrity and reliability of the site's interactive features.
Name __cf_bm
Provider .calendly.com
Retention period 30 minutes
Type Third party
Category Necessary
Description The __cf_bm cookie is set by Cloudflare to distinguish between humans and bots. This cookie is beneficial for the website as it helps in making valid reports on the use of the website. By identifying and managing automated traffic, it ensures that analytics and performance metrics accurately reflect human user interactions, thereby enhancing site security and performance.
Name __cfruid
Provider .calendly.com
Retention period During session
Type Third party
Category Necessary
Description The __cfruid cookie is associated with websites using Cloudflare services. This cookie is used to identify trusted web traffic and enhance security. It helps Cloudflare manage and filter legitimate traffic from potentially harmful requests, thereby protecting the website from malicious activities such as DDoS attacks and ensuring reliable performance for genuine users.
Name OptanonConsent
Provider .calendly.com
Retention period 1 year
Type Third party
Category Necessary
Description The OptanonConsent cookie determines whether the visitor has accepted the cookie consent box, ensuring that the consent box will not be presented again upon re-entry to the site. This cookie helps maintain the user's consent preferences and compliance with privacy regulations by storing information about the categories of cookies the user has consented to and preventing unnecessary repetition of consent requests.
Name OptanonAlertBoxClosed
Provider .calendly.com
Retention period 1 year
Type Third party
Category Necessary
Description The OptanonAlertBoxClosed cookie is set after visitors have seen a cookie information notice and, in some cases, only when they actively close the notice. It ensures that the cookie consent message is not shown again to the user, enhancing the user experience by preventing repetitive notifications. This cookie helps manage user preferences and ensures compliance with privacy regulations by recording when the notice has been acknowledged.
Name referrer_user_id
Provider .calendly.com
Retention period 14 days
Type Third party
Category Necessary
Description The referrer_user_id cookie is set by Calendly to support the booking functionality on the website. This cookie helps track the source of referrals to the booking page, enabling Calendly to attribute bookings accurately and enhance the user experience by streamlining the scheduling process. It assists in managing user sessions and preferences during the booking workflow, ensuring efficient and reliable operation.
Name _calendly_session
Provider .calendly.com
Retention period 21 days
Type Third party
Category Necessary
Description The _calendly_session cookie is set by Calendly, a meeting scheduling tool, to enable the meeting scheduler to function within the website. This cookie facilitates the scheduling process by maintaining session information, allowing visitors to book meetings and add events to their calendars seamlessly. It ensures that the scheduling workflow operates smoothly, providing a consistent and reliable user experience.
Name _gat_UA-*
Provider rubygarage.org
Retention period 1 minute
Type First party
Category Analytics
Description The _gat_UA-* cookie is a pattern type cookie set by Google Analytics, where the pattern element in the name contains the unique identity number of the Google Analytics account or website it relates to. This cookie is a variation of the _gat cookie and is used to throttle the request rate, limiting the amount of data collected by Google Analytics on high traffic websites. It helps manage the volume of data recorded, ensuring efficient performance and accurate analytics reporting.
Name _ga
Provider rubygarage.org
Retention period 1 year 1 month 4 days
Type First party
Category Analytics
Description The _ga cookie is set by Google Analytics to calculate visitor, session, and campaign data for the site's analytics reports. It helps track how users interact with the website, providing insights into site usage and performance.
Name _ga_*
Provider rubygarage.org
Retention period 1 year 1 month 4 days
Type First party
Category Analytics
Description The _ga_* cookie is set by Google Analytics to store and count page views on the website. This cookie helps track the number of visits and interactions with the website, providing valuable data for performance and user behavior analysis. It belongs to the analytics category and plays a crucial role in generating detailed usage reports for site optimization.
Name _gid
Provider rubygarage.org
Retention period 1 day
Type First party
Category Analytics
Description The _gid cookie is set by Google Analytics to store information about how visitors use a website and to create an analytics report on the website's performance. This cookie collects data on visitor behavior, including pages visited, duration of the visit, and interactions with the website, helping site owners understand and improve user experience. It is part of the analytics category and typically expires after 24 hours.
Name _dc_gtm_UA-*
Provider rubygarage.org
Retention period 1 minute
Type First party
Category Analytics
Description The _dc_gtm_UA-* cookie is set by Google Analytics to help load the Google Analytics script tag via Google Tag Manager. This cookie facilitates the efficient loading of analytics tools, ensuring that data on user behavior and website performance is accurately collected and reported. It is categorized under analytics and assists in the seamless integration and functioning of Google Analytics on the website.

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

  • 24535 views
  • 10 min
  • Nov 16, 2016
Kirill S.

Kirill S.

Ruby/JS Developer

Vlad K.

Vlad K.

PHP Developer

Sviatoslav A.

Sviatoslav A.

Copywriter

Vlad V.

Vlad V.

Chief Executive Officer

Share

Using ready ecommerce platforms to build online stores is great for both startups and enterprise businesses. You can save time, money, and effort with ready platforms since they already offer basic ecommerce functionalities. Ecommerce platforms allow you to concentrate on developing distinctive features for your project. But which platform – Spree or Magento – should you choose? What are the advantages of Magento? What are the benefits of using Spree e-commerce?

Let’s compare these two platforms. Here’s a quick overview:

Ecommerce Platform Spree Commerce Magento

Project Owner

First Data

Permira

Supported by

Spark Solutions
Vinsol

Magento Inc.

Pricing

Free

Free for Community Edition
$22,000 and up for Enterprise Edition

Incidental
Costs

Depends on the web development company

Depends on the web development company

Latest
Version

Spree 3.2.0 Release Candidate 1

Community Edition 2.1.4, released February 2017

Enterprise Edition 2.1, released August 2016

Supported Payment Gateways

PayPal
Stripe
Braintree
Skrill
Other payment gateways

PayPal
Stripe
Braintree
Skrill
Other payment gateways

Extensions

60+ extensions

100+ extensions for Magento 2 and higher

80+ extensions for Magento 1.x

Technology Stack

Ruby
Ruby on Rails
PostgreSQL/ MySQL

PHP
Zend Framework
MySQL

This is hardly an exhaustive comparison of two popular ecommerce platforms. We need to scrutinize Magento vs Spree performance (in general) to see the real differences. Let’s dive deeper into the following aspects of these platforms:

  • Pricing / subscription options;
  • Development complexity;
  • Third-party plugins; and
  • The future of the platforms.

Spree vs Magento: Pros and Cons of Each Ecommerce Platform

A ready ecommerce platform doesn’t need to cost money. What's the difference between Spree and Magento in this regard? Magento charges a yearly maintenance fee, but Spree Commerce can be truly free. But no matter which platform you work with, you’ll want to create custom UX and UI design, develop additional features, and deploy and support your online store. In other words, there are always incidental costs involved in developing with both solutions.

Let’s begin by comparing the platform costs.

Spree Commerce Pricing

Spree Commerce is truly free, and comes in only one edition. Even the extensions are 100% free. We can use it for $0 to develop as many websites as we like. That’s why we consider only Magento Community Edition a direct competitor to Spree, since it’s also free.

If you opt for Spree Commerce, you’ll pay only for front end customization and additional functionalities you develop on the backend. We’ll mention backend functionalities that we’ve implemented in our projects later, which will help you understand what you’ll end up paying for if you choose this platform.

Magento Pricing

Magento is available in two editions: the Community Edition (CE) is a lightweight, free ecommerce platform; the Enterprise Edition (EE) is costly. The Enterprise Edition provides more functionality out of the box and, supposedly, offers improved performance compared with the Community Edition.

According to the MDN Blog, the maintenance fee for the Enterprise Edition was seriously increased. The latest version of the PHP-based platform now costs at least $22,000 per year, whereas previously it cost a minimum of $18,000. And when net sales of your online store go above $1 million per year, the price for the Enterprise Edition grows higher than $22,000 per year.

The Community Edition and Enterprise Edition require different versions of third-party plugins, which are usually paid (even for the free Community Edition). Extensions for the ecommerce platform are typically priced between $99 and $999, but in some cases can be even more. Therefore, total costs for the Enterprise Edition plus extensions easily exceeds $22,000. Add in the cost of a development team, and you’ll see that developing with the Enterprise Edition is rather expensive.

In short, the Community Edition is a better choice than Enterprise Edition for starting an online store.

The key point: Considering it’s more difficult to develop an ecommerce store with Magento than with Spree (we’ll talk you through the development difficulties in the following section), a Magento-based store will always cost more.

Spree Commerce vs Magento: Development Complexity

Let's dive deeper into the Magento vs Spree comparison in this review – let's discuss the architecture. To build a store with either of these platforms, which have many quirks, developers must have deep knowledge of the platform’s architecture. In this section, we’ll highlight some differences between platform's architectures.

Development Complexity with Spree

The architecture of Spree is simpler than that of Magento due to its smaller codebase. Nevertheless, the structure of this Ruby on Rails storefront is intricate.

The RESTful API is the main component. Spree’s API allows you to work with orders, shipments, products and their specifications, and other basic elements of an online store.

Spree API

The other five components of the architecture include:

  • Frontend for clients;
  • Admin panel;
  • Command line tools;
  • Core (basic components); and
  • Spree Sample.

From our experience, we would say that having a well-documented and convenient API is always great. We’ve also been more than satisfied with extensions for this Rails platform. When developing Medshop Express, a Spree-based drugstore, we used the following extensions:

  • Spree Static Content to manage Support, About, and other static pages.
  • Spree Editor for editing blog posts on the website.
  • PayPal Express Checkout to simplify payments via PayPal for Medshop Express clients.
  • Spree Social for registration and authorization via Twitter and Facebook.
  • Spree Related Products to manage product relations (suggest accessories or related products).
  • Spree Active Shipping to find and track shipments (supports FedEx, UPS, and other carriers).

We implemented all typical features for an online store with these extensions. But we also had to develop custom modules to implement bonuses, an affiliate program, and multi-level marketing.

In short, customizing a Spree-based store is relatively easy for experienced developers.

Development Complexity with Magento

The Magento core clocks in at around 8,000,000 lines of code. That’s a lot. The codebase weighs 37.6MB in an archive – twice the weight of Rails-based solution. Magento is hefty, but for good reason: it provides a lot of functionality out of the box.

The architecture consists of four layers, namely Presentation, Domain, Service, and Persistence. Take a look at the schema below to get a general idea of Magento’s architecture:

Magento’s architecture

As we can see, Magento is comprised of many components – fifteen, to be exact. And developers must understand all the dependencies among these components to develop custom modules.

The key point: If you want to create an ecommerce shop with any of these two platforms, you’ll need an experienced development team to support your project. Spree Commerce is easier to understand due to its smaller codebase and fewer architectural components.

Ready Plugins for Ecommerce Stores

We’ve already mentioned the number of extensions available for Spree Commerce and Magento. Let’s look more closely at some third-party plugins for these ecommerce platforms.

Spree Extensions

The Rails-based platform offers around 60+ plugins. But if there’s no extension available for the functionality we want, then we have to develop our own modules. This is a disadvantage.

On the bright side, Spree Commerce is a Ruby on Rails engine (a small Rails application). Therefore, we can couple it with other Rails engines or even integrate it into fully-fledged Rails applications.

Consider it as a building block that we use to ‘assemble’ an online store. Here are other possible building blocks for your online store:

  • Refinery CMS for the Content Management System
  • Thredded for forums
  • The Devise gem for authentication

All the Rails engines listed above are open source solutions. The Ruby on Rails community has developed a great ecosystem of prebuilt tools that we can freely use to build advanced online stores.

Magento Extensions

Magento has a dedicated marketplace with free and paid extensions. These extensions let you add a blog, AJAX-based pagination, Search Engine Optimization tools, or other functionalities to your ecommerce store. There are even web development companies whose entire business model is creating plugins specifically for the Magento platform. AheadWorks, WebText, and MageWorx are the most prominent examples.

With hundreds of Magento plugins to take care of basic functionalities, you can entirely focus on developing unique features for your store. The only issue with this PHP-based platform is fragmentation. As we mentioned earlier, Magento Enterprise Edition and Community Edition require different versions of the same extensions.

The key point: Magento’s ecosystem of extensions is much more robust than Spree’s. But you have to pay for most Magento extensions, some of which are costly. Plus, whenever you upgrade to a newer version, you need to be aware that certain extensions may not be compatible.

Magento vs Spree Commerce: Platform Development

Let's not look at Spree vs Magento difference regarding their updates. It’s crucial for an ecommerce platform to be regularly updated. We always want more features, new technologies, and improved security. And it’s great that Spree Commerce and Magento are both supported by reputable companies.

Spree Commerce Development

Sparks Solutions and Vinsol improve Spree Commerce according to a development roadmap. In Q4 of 2016, Sparks Solutions will begin developing Spree 3.3.

We should note that Bonobos, an ecommerce store and early Spree adopter, forked the 2.4 version as a standalone ecommerce project. Bonobos and several other contributors are now developing Solidus (the name for their project) to provide their own Rails-based ecommerce solution.

It’s unclear which project – Spree Commerce or Solidus – will be the best Rails engine for ecommerce in the near future. But both of these Rails projects are a good choice for developing your storefront today.

Magento Development

Magento Inc. presented Magento 2.1 in 2016. In this latest version of Magento, the developers tried to resolve loading speed issues and reduce complexity. Magento 2 benefited from PHP 7, Elasticsearch, and other modern web technologies.

Despite these improvements, the platform still received a cold reception for several reasons: issues with loading speed remain unresolved, and migrating an online store to a modern platform is difficult even with the Magento Data Migration Tool. Plus, as we noted earlier, not all extensions are compatible with Magento 2.

Magento Inc. will continue developing Magento 1.x until 2019. But if you’re building a new PHP-based ecommerce store you should go with Magento 2.

So What Ecommerce Platform Best for Your Startup?

Both platforms are great options for starting a new ecommerce store project. But they differ in many respects, which makes it difficult to decide between them. Here are our recommendations:

Choose Spree Commerce if:

  • You need a simple ecommerce solution.
  • You want to rapidly develop your online shop (thanks to the Ruby on Rails framework).
  • You want to avoid paying additional fees for Magento Enterprise Edition.
  • You want to customize your store in many ways.

Choose Magento Community Edition if:

  • You need to use an open source ecommerce platform.
  • You want to avoid paying a maintenance fee for Magento Enterprise Edition.
  • You want to make many customizations to the Magento core.

Choose Magento Enterprise Edition if:

  • You need to launch several storefronts straight away.
  • You need a highly advanced online store straight away to concentrate on development of distinctive features of your store.
  • You are ready to pay (substantial) amounts of money for the platform and third-party plugins to increase development speed.

That’s basically all you need to know to decide which storefront will be best suited for your project!

CONTENTS

Authors:

Kirill S.

Kirill S.

Ruby/JS Developer

Vlad K.

Vlad K.

PHP Developer

Sviatoslav A.

Sviatoslav A.

Copywriter

Vlad V.

Vlad V.

Chief Executive Officer

Rate this article!

Nay
So-so
Not bad
Good
Wow
2 rating, average 4 out of 5

Share article with

Comments (4)
Yawer Malik
Yawer Malik over 6 years ago
Thanks for sharing this article, Its very helpful for Magento and ecommerce business owners to select best platform and hosting. I have applied all points in my website and also worked to fix page load time, I moved to cloudways Magento hosting and using their full page cache extension, which always deletes the cache and keeps my store faster.
Reply
Tania H.
Tania H. over 6 years ago
We're glad you found this article useful, Yawer, and great that you've picked the best option for you!
Reply
Spark Solutions
Spark Solutions about 6 years ago
Thanks for a thorough analysis. If anyone is interested, here are some case studies of e-commerces built with Spree Commerce: https://spreecommerce.org/stories/
Reply
Maryna Z.
Maryna Z. about 6 years ago Spark Solutions
We'll definitely check that one out! Thanks
Reply

Subscribe via email and know it all first!