Ruby on Rails has a lot to offer, especially for web-based projects. It also has top-quality solutions for e-commerce. Sometimes, though, the more popular solution is not the better one, which is why I’d like to convince you that Solidus might be a good Spree alternative. If you’re at all interested in building an e-commerce platform with RoR, this article will be helpful to you.
Solidus is an open-source e-commerce solution built on Ruby on Rails. It was forked from Spree, so it has a similar code base. The current version is 2.1, and it supports Rails 5. Solidus’ main contributors are Stembolt, bitspire and lostmy.name. Most importantly, Solidus works well, as opposed to certain other e-commerce platform solutions.
Why Spree Isn’t The Only Choice
When picking the best e-commerce solution for your project, you have to consider several factors. Here are some that might make you want to think about an alternative to Spree.
Code quality: for Spree, it’s low. It takes hours to figure out how the source code works, which is a huge waste of time. Still, Solidus, being a fork of Spree, might not be a huge improvement in this department. The point is you shouldn’t choose Spree if you’re looking for high code quality.
Bugs: There are a lot of bugs in Spree. And guess what? The Spree team don’t do anything about it.
The Alternative: Solidus
Solidus was created as a response to information that Spree would receive fewer contributions after being acquired by First Data Corporation. The previous Spree contributors (Stembolt, bitspire) decided to build a new e-commerce platform. It wasn’t technically a brand new product because it was forked off Spree 2.4. The codebase was therefore inherited from Spree, and there is a dedicated and active team, who focus on improving the code quality and fixing bugs. They also have a slack channel where you can find a solution to any problem. Most of the questions I posted there were answered, which means that the support is quite good.
Disadvantages to Using Solidus
In the interest of being honest: yes, Solidus has some problems. It's quite a new product, so the community is not large. Only a tutorials are available, which makes the technology somewhat difficult to pick up. The documentation is somewhat lacking as well.
It is hard to compare Solidus’ extensions with the Spree ones. The Solidus FAQ states that you can basically fix a couple of things, and maybe it’ll work, but it’s not a guarantee. The next problematic thing is that extensions which have already been created don't work with the newest version of Solidus, but the same is true for Spree – some extensions just don't work. And finally, the Spree legacy brings a lot of bugs and bad code.
Is Spree better than Solidus? Difficult to say. In my opinion, Solidus could be a good alternative to Spree, but we have to answer the question of how risky it is to start using it now. A lack of documentation or community support could be a real problem. Still, the Slack support is good. Migrating from Spree shouldn't be too hard. There’s also a Solidus conference, where it will probably be possible to find more information about Solidus’ future.
I think Solidus will be great in the future and might already be a better solution than Spree. I’m not the only one who thinks so, either. So, if you’re thinking about migrating to Solidus or using it to build your e-commerce from scratch, feel free to drop us a line to continue this discussion.