Ruby Ecommerce: Solidus Vs. Spree on Rails [2025 Update]

It can be confirmed simply by looking at the success story of Shopify, which started initially as a fork of Spree, and has grown to the behemoth that it is today.
Ruby on Rails is also known for its cost efficiency as it is extensible and very fast to prototype with, drastically bringing down time to market and cost for a new project. Creating a Rails application is a foundational step in building a robust ecommerce platform, providing the essential structure needed for further development.
Knowing that Ruby on Rails (RoR) is one of the best solutions for a web-based ecommerce project, there are two quality open-source ecommerce projects you can use for your next project – Solidus and Spree Commerce. Both Solidus and Spree are leading open-source e commerce frameworks built with Ruby on Rails. These e commerce frameworks are designed to meet the needs of a wide range of e commerce projects, from startups to enterprise solutions. Both will help you build customized, scalable, and performant products fast. However, there are some critical differences between the two. I’ll discuss them in this article and try to compare them unbiasedly.
When choosing between Spree and Solidus, the choice of e commerce framework can significantly impact the developer experience and the ability to customize the rails application for specific business needs.
Introduction to Ecommerce
Ecommerce, or electronic commerce, is the process of buying and selling goods and services over the internet. In today’s digital world, ecommerce sites and online stores have become essential for businesses looking to reach a global audience and provide convenient shopping experiences. The rapid growth of ecommerce has been fueled by advances in technology, changing consumer habits, and the increasing demand for seamless online transactions.
To meet these demands, businesses rely on robust and scalable ecommerce frameworks to create and manage their online stores. Ruby on Rails stands out as a popular choice for building ecommerce sites, thanks to its powerful features, flexibility, and strong community support. Rails enables developers to create scalable, secure, and visually appealing ecommerce solutions that can adapt to the evolving needs of modern commerce. Whether you’re launching a new online store or expanding an existing one, choosing the right framework is crucial for delivering reliable services and a seamless shopping experience to your customers.
A quick dive into the Spree and Solidus story
Spree is an open-source ecommerce platform built with Ruby on Rails and launched back in 2007. It quickly became a leading solution with over a million downloads from RubyGems. Solidus was the newer framework that forked from Spree, which meant that a group of developers took the same source code and started an independent project. Naturally, both platforms have a similar codebase and are competing for the same user base.
While Spree was more popular, many software developers were not fans of the solution. The code was considered opinionated and not clean, and often it’s difficult to understand how it works. At the beginning of a project, everything seems to be clear. However, with time, when you need to customize the designed flow, it becomes more complex. As a result, most Spree projects lacked the flexibility you need from a modern ecommerce system.
Although the platform is developed by Spree Commerce Inc., you can find bugs that haven’t been addressed for a long time by the company’s team. Actually, in 2015, after being acquired by First Data Corporation, Spree ended its support of the open-source platform. This was the main reason why a group of Spree contributors decided to branch out and develop a new platform – Solidus. Regular updates are essential for maintaining platform stability, security, and performance, ensuring that both Spree and Solidus remain reliable choices for ecommerce businesses.
Eventually, Spree’s maintenance was taken over by Spark Solutionsand most recently by Vendo, which is an ecommerce marketplace providing a premium SaaS solution for Spree, quite like Shopify. Integration with third-party solutions, such as payment gateways and analytics tools, has become a key differentiator for Spree, allowing businesses to extend functionality and improve operational efficiency.
Solidus, although not technically a brand new product since it was forked from Spree 2.4, was intended from the start to be a better version of Spree, thanks to being backed by a dedicated and engaged team working on improving its quality and fixing bugs.
Similar to Spree’s open source development being taken over by a different company, Solidus is being looked after by NebulabDevelopers benefit from easy access to the source code and community resources, which makes integrating new features and maintaining the platform more straightforward.
Spree vs. Solidus
As of writing this article, the latest version of Spree has moved to a headless version, and has dropped support for their built-in storefront, which is now marked as legacy, whereas Solidus still supports the built-in views for the storefront, albeit very basic, while also having a well-documented API to build a custom storefront. Both frameworks offer a range of specific features and solutions that enhance ecommerce development, such as scalability, integrations, and customer sales capabilities, which contribute to building robust online stores with extensive functionalities. When it comes to storefront design and customization, developers can take advantage of templates provided by Rails to quickly create visually appealing and customizable storefronts, streamlining the development process and improving user experience.
The backend dashboard of both platforms is clean and intuitive. They are built with Ruby on Rails and share a large chunk of the code. But let’s take a look at what makes them different. To do this, I went through the most important aspects of using Spree and Solidus and tried to conclude which solution works better. If they are equally good, I declare them a “draw.”
Learning and support – draw
Support and maintenance were the reasons why Solidus forked from Spree. Earlier, one of the main advantages of Solidus was its team having a Slack channel where you can find solutions to your problems. Most of the questions I posted there were answered, which means that the support is quite good.
Now, Spree also has its own Slack channel, a thriving community over 6,000 strong, adding to their existing support from the website, and well-structured documentation which covers almost every problem one might come across when starting off with Spree. Both platforms provide resources and documentation tailored to the specific needs of their target audience, including developers and store owners, ensuring that different user groups can find relevant support and guidance.
Using Spree, you get most of the support from its website, with documentation that covers every type of issue that you may encounter.
Ruby on Rails – draw
Ruby on Rails emphasizes the use of convention over configuration (CoC). This allows for ease of build for Spree and Solidus developers who are left with fewer decisions to make when writing code, whilst never having to sacrifice on quality or flexibility.
Ruby on Rails is a very popular framework that is already in use in applications all over the web, including some of the world’s biggest ecommerce sites (Shopify, for instance, or check out these top 34 sites built with Ruby on Rails). The framework also supports responsive design principles, making it easier to create ecommerce websites that deliver a consistent user experience across a wide range of devices, including desktops, tablets, and smartphones.
Licensing – draw
Spree's BSD license is one of the least restrictive licenses out there. Indeed, no matter the size of your business, Spree always uses the same open-source software. This means that there is no “enterprise edition” of Spree – so whether you're classed as an SME or a large multinational corporation, you're able to use Spree for commercial purposes without ever having to pay a license fee.
As for Solidus, the only license it requires on its GitHubis the one of Spree, so you can use both platforms for free with no limits.
Design – advantage Spree
Both Spree and Solidus offer a number of themes to choose from when it comes to designing your storefront. Each one can be tweaked and altered to suit your business needs. Focusing on user experience and tailoring the storefront to the specific needs of your business is essential for improving customer satisfaction and streamlining navigation.
Alternatively, an entirely custom-made design can be built, with endless extensions and modifications that can be implemented with ease, allowing you to create the exact storefront you want.
While it is easier to find Spree themes, you can also use them with your Solidus project, so there’s no difference here.
The new version of Spree comes with out-of-the-box integrations for vuestorefrontand Next.js commerce, along with a JS/TS SDK for writing your own JS frontend that Solidus lacks. Solidus is working on a new starter frontendthat gives complete control of the frontend to the Rails developers acting as a good starting point for new Rails developers working with Solidus.
Extensions – advantage Solidus
Store owners will always want to have additional or slightly altered features than initially provided by the default settings of a theme. There are many third parties that have already designed such extensions for Spree, all of which can be modified from the source code that's available. Any additional extensions can also be developed very quickly using Spree's sturdy application programming interface (API).
Once again, due to its shorter history, Solidus offers fewer extensions than Spree, but you get higher quality and fewer issues. From our experience, your software engineers will prefer fewer ready-to-use components than an extensive library with errors. With Solidus extensions, you get more control over your code and spend less time and money on fixing compatibility issues.
Scalability – advantage Solidus
Spree is designed with scalability in mind, meaning that as your traffic grows and grows – which it will – your store can grow with it with ease. Since Spree is open source, as the popularity of your online store increases, the Spree platform allows scaling with minimal effort and also cuts out additional hardware and development costs.
Solidus inherits scalability from its predecessor. However, cleaner source code and active maintenance by the community make it a safer choice for the future growth of your business.
The yet-to-be-released Solidus version 3.2 will also support Omnes, a relatively new pub/sub event bus that should enable a cleaner core for Solidus, ensuring better maintainability as the project grows.
Analytics – draw
Monitoring customer behavior will be important for increasing your sales. You can identify what's working and selling and what's not, and then take the necessary action to focus on specific areas of your storefront.
Although Spree doesn't come with built-in analytics, there are plenty of third-party extensions that have been built, which can be integrated very simply and easily into the backend of your online store.
While you don't get an analytics plugin on the solidus.io website (though there are some basic reporting extensions), having full control of the code makes it much easier to implement a Ruby on Rails analytics solution or connect any other solution with an API.
Communication with customers – draw
It's always of the utmost importance when designing your storefront to integrate a platform on which you and your customers can communicate openly and easily to ensure that they have the very best shopping experience.
Third-party applications have been developed to allow you to integrate such a communication platform for you and your customers to ensure that you can provide such an engaging and indeed useful experience for all of your visitors.
Search – draw
A speedy, fully optimized, and sophisticated search platform is of absolute importance to all sites that operate ecommerce businesses.
The API provided by Spree allows for a variety of specialized high-functioning search platforms to choose from – Spree Maker Search, for instance, which allows customers to filter their searches by the product maker's name, or Spree Sunspot Search, which is a very robust and flexible full-text search.
Solidus has two search plugins. You can grab ElasticProductor Searchkickfrom GitHub.
Adaptability – advantage Solidus
Predicting how your online store will grow is very difficult. What matches your current requirements won't necessarily meet them a year or two down the line. That's why you need to build adaptive solutions that will allow you to pivot and adjust to future ecommerce trends.
Online stores offer the same core features – shopping cart, search platforms, etc. As the traffic to your site grows, these modules need to be updated to keep your site as optimized and appealing, easy to use, and flexible as possible.
Solidus gives you a better solution to this problem. While you can assemble the web app quickly using existing components with Spree, your developers will likely find it difficult and frustrating to adjust the code as it hasn't been supported for over five years. You get fewer resources with Solidus, but the changes will be easier for your Ruby on Rails engineers.
Payments – advantage Solidus
Choosing the right payment gateway is a crucial decision for every ecommerce owner. There's a number of popular online payment providers available if you run your store on the Spree or Solidus platforms.
Spree uses the Spree Gateway gem, which supports over a dozen gateways out of the box and can be extended for a whole plethora of gateways thanks to it being a wrapper around the well-maintained gem, Active Merchant. In contrast, Solidus dropped support for Solidus Gateway and archived it in favor of six different payment gateways as of writing this article, and requires developers to work on their own payment gateways.
Here are some of the most popular payment service providers (PSPs) that are used with Spree:
1. PayPal
Even though PayPal now seems to have a dedicated army of determined detractors, the fact that it is still loved and trusted by so many users (the site boasts that having a PayPal button on your site will increase sales by 31% on average) means that it still makes sense to offer it as a payment option on your site.
2. Stripe
Stripe has emerged as one of the biggest contenders to PayPal's dominance, and it's easy to see why. As it's already integrated with literally thousands of iOS and Android apps, it is in a great position to meet a lot of online merchants' needs.
Furthermore, Stripe also offers revenue and subscription management and is favored by businesses like Rackspace and Parse, who can take advantage of this. However, what Stripe doesn't offer is its own shopping cart, but with Spree, this is very easily integrated anyway, so it's not too much of a problem.
3. Skrill
Formerly known as Moneybookers, Skrill is one of the most versatile PSPs on the market, supporting over 100 payment options for customers.
Skrill is available in more than 200 countries and supports 40 different currencies. One of its most innovative features is that it allows you to send text messages to your customers right from your account. It's also free to start using and is generally considered to offer one of the lowest fees on the PSP market. A Netguru team contributed to Skrill, joining the company's internal teams in Berlin and Sofia to build the online payment account management app.
You can find nine PSP integrations on the Solidus project website. You get Stripe for Solidus, which is one of our favorite services, and it is being updated constantly. As well as this, you get Pay with Amazon, Klarna, Braintree, and more.
Once again, due to continuing support, we find Solidus slightly better in this field.
Admin Panel – advantage Spree
Spree undoubtedly has the better experience with its admin panel out of the box, which feels smoother and is mobile-friendly. However, this isn't a deal breaker, since it can be customized manually but that would require time and resources. Spree's admin dashboard also has more options for search and filtering, which only really shine when the store has a substantial number of products and orders.
Who's using what?
With both the projects being famous and used widely now, some big names that are using them include:
Spree: KFC, Pack help, MeUndies
Solidus: Floyd home, Trade coffee, Peach Clothing
Considering both are battle tested and well used by companies out there, here's the final verdict.
Security Considerations
Security is a critical concern for any ecommerce site, as these platforms handle sensitive customer data and payment details on a daily basis. Protecting this information is essential for maintaining customer trust and complying with industry regulations. To ensure the security of ecommerce sites and online stores, it’s important to implement robust security measures such as data encryption, secure sockets layer (SSL) certificates, and regular patch level verification and software updates.
Ruby on Rails provides a secure framework for building ecommerce solutions, offering built-in features for authentication, authorization, and secure session management. Rails also makes it easy to integrate with trusted payment gateways like PayPal and Stripe, ensuring that payment transactions are processed securely. By following best practices—such as using strong passwords, keeping dependencies up to date, and regularly monitoring for vulnerabilities—ecommerce site owners can safeguard their platforms against threats and provide a secure shopping environment for their customers.
Performance Optimization
Optimizing the performance of your ecommerce site is essential for delivering a fast, responsive, and enjoyable user experience. Slow-loading online stores can frustrate customers and lead to lost sales, especially as increased traffic puts more demand on your system. Using a robust ecommerce framework like Ruby on Rails gives you a solid foundation for building scalable and efficient ecommerce sites.
To further enhance performance, ecommerce site owners can implement strategies such as caching, leveraging content delivery networks (CDNs), and applying search engine optimization (SEO) techniques to improve site speed and visibility. Monitoring your site’s performance with tools like Google Analytics allows you to track user behavior, identify bottlenecks, and make data-driven decisions to boost sales and engagement. By continuously optimizing your ecommerce site, you can ensure a seamless shopping experience that keeps customers coming back.
Deployment and Maintenance
Once your ecommerce site is ready, deploying it to a reliable production environment is the next crucial step. Ruby on Rails offers a variety of deployment options, including platforms like Heroku, AWS, and DigitalOcean, which provide scalable and secure infrastructure for online stores. A smooth deployment process ensures that your ecommerce site is accessible to customers and can handle increased traffic as your business grows.
Ongoing maintenance is equally important for keeping your ecommerce site secure, robust, and up to date. Regular tasks such as software updates, security checks, and data backups help prevent downtime and protect against potential threats. By leveraging the strengths of the Rails framework and following best practices for deployment and maintenance, ecommerce site owners can provide a reliable and secure shopping experience for their customers, ensuring the long-term success of their online stores.
Solidus or Spree – which one is better?
Both platforms are very similar, and they share the same core strengths. They allow you to build a customizable and scalable ecommerce site with the Ruby on Rails framework. We've been doing it for years and find both combinations a great choice for an online store.
Although Solidus is quite new, and neither the community nor the resources are large, we find it much more convenient to use a platform that's supported and up to date. That's why for most projects, we'd rather go for Solidus over Spree. It is much easier to comprehend and take control of the open-source code. Finally, there are fewer annoying bugs and discontinued integrations.
The Spree legacy brings a lot of bugs and bad code that hasn't been fixed yet. This problem is being continuously worked on by Solidus contributors. While Spree can work better for setting up a store quickly, in the longer run, the benefits of Solidus should take over as it is much easier to maintain.
I think Solidus will be great in the future and might already be a better solution than Spree, and I know many others share the same view.
If you require a quick solution that might not need a lot of changes in the future, on a smaller budget, Spree would be the way to go, otherwise Solidus wins.
I think Solidus will be great in the future and might already be a better solution than Spree, and I know many others share the same view.
If you're considering building your ecommerce site from scratch, feel free to drop us a line to continue this discussion and explore your ideas.