Although online shopping is nothing new, recent years of pandemic and isolation have been a trigger that has forced the e-commerce industry to grow very fast. Allowing people to buy things online has become a need for many business owners, so the Internet has been flooded with competing online shopping websites. Nowadays, for a business to be able to prosper, a well-designed website has become one of the most essential elements that affect customer satisfaction with a transaction.
What is Ruby on Rails?
Ruby on Rails (also known as RoR or simply “Rails”) is an open-source framework designed for developing back-end websites. What does it mean? The back-end is responsible for receiving information from users, storing it, and processing it – in other words, taking care of the data of users, who can, thanks to it, log in and buy perform all the activities that make sense of online stores.
Ruby on Rails is written in the Ruby scripting language, using the MVC (Model-View-Controller) architecture. Although RoR is not the only option for back-end development (there’s also Java, Python, and PHP), it is one of the most popular solutions for e-commerce projects. Why? Let us explain why we have so many fans of Rails in our Applover team!
Why should you use Ruby on Rails?
Ruby on Rails allows you to significantly reduce the cost of website development. First – RoR is a free framework not only for companies but also for individuals. Secondly, compared to other solutions, Rails significantly reduces the amount of time required to create a highly developed website. Moreover, it is also compatible with free web servers and databases which further reduces financial costs.
Rails have an essential advantage that all business owners will undoubtedly appreciate – it is designed for the fast development of websites. The ability to use plug-ins, which instantly extend applications with various features, as well as the convention over configuration rule, which involves bringing the necessary configuration to a minimum by replacing it with ready-made recommended templates – eliminates any delays in design. Websites and applications developed in RoR have a similar structure so that any committed Ruby specialist will be able to adapt and easily make any changes or improvements quickly.
A wide ecosystem
The Ruby on Rails ecosystem is composed of gems – these are ready-made tools and solutions for the most popular elements of functionality, which help in such activities as user management, authentication, updating, etc. In short, it is based on the fact that if there is a problem, someone may have already solved it, and the solution has already been made available. Currently, the number of gems has exceeded 160,000 and is constantly growing. Among other things, thanks to this, the development time of pages or applications can be reduced by up to ⅓!
A great advantage of Ruby on Rails is the developed community of active developers who share their solutions and make them available as gems. If you face a problem, you can always count on the experience of other RoR experts, who not only create downloadable solutions but also offer a support network so that all ideas can be implemented. For entrepreneurs, the existence of such an expansive community of developers is also beneficial, as it makes it possible to create high-quality products with a smaller team.
Although shopping online and giving out your data is nothing new and increasingly less threatening – fraud, kidnapping of customer databases, or loss of ghost ads still happen and strike fear into the minds of business owners.
Ruby on Rails strongly focuses on the security of the products it releases. RoR has protection built in against attacks such as XSS, CSRF, and SQL, as well as optional cookies, signing, and encryption, and it can pass through many vulnerabilities and bugs.
Thanks to its modular architecture, applications created with the Ruby on Rails solution can be easily transformed and extended. Sites and applications can keep developing along with the dynamically growing needs of their users. The platform can also be spread by adding plugins, which means that updating a site does not require any removal and can be done quickly and easily. This is a great advantage that fits perfectly with the main needs of e-commerce. Even when the MVP is ready, changes can be made without much damage.
Fast MVP (Minimum Viable Product) development
For those taking their first steps in eCommerce, the ability to quickly build an MVP for their platform will be a valuable asset. By creating a product using Ruby on Rails, you can very quickly test its viability and pros and cons. With an MVP and DRY (Don’t Repeat Yourself – a principle that reduces the repetition of information and code during software development), development time is shorter and more efficient.
The process of implementing the final product can sometimes be a very stressful experience. It is a moment that can highlight many unexpected errors. Ruby on Rails, fortunately, has a test automation feature, included in the framework. In general, RoR comes with a lot of automation features, which help you prepare for deployment and greatly simplify the process.
Ruby on Rails and eCommerce platforms
Ruby on Rails has been a part of eCommerce since 2004 as the technology has a lot to offer in terms of high-quality solutions. Solidus and Spree Commerce are two excellent open-source e-commerce platforms that work well with RoR. For speedy and efficient product development, both are essential.
Shopify is also a well-known commercial solution (but some parts of their application are open sourced – like active_shopping or active_merchant – but unfortunately not much has been happening there in recent years). To use it you will have to pay a monthly subscription fee. But you can start without major costs – Shopify Lite costs $9 USD per month. Shopify might be a good solution for eCommerce without custom requirements.
But if you have more demanding business requirements, you might want to consider one of two very mature e-commerce libraries – Spree and Solidus. Both have a common origin because Solidus was a fork of Spree in version 2.4.
What are the main advantages of these solutions?
Spree has its own Slack workspace with over 6000 people on the board. Solidus also has its own Slack workspace with almost 5000 people on the board. In addition to this, you can find many tips on GitHub issues – in both repositories, only a small part of the problems remain unanswered.
It’s super important when it comes to adding new features, resolving existing bugs, and providing security updates. Both repositories are well maintained and have quite well-developed documentations. Even without experience with these e-commerce solutions, developers are able to start work easily.
Every e-commerce company faces a critical decision when it comes to selecting a payment method. If your business is powered by Spree or Solidus, you can accept payments from well-known online merchants. Both have multiple payment integrations in place. Solidus documentation mentions 8 integrations, but in reality, there are more (e.g. Stripe integration). Spree in their documentation says about many more integrations – over 20 are listed here.
What is really important, both solutions provide a way to make your custom gateway (for example for your local payments providers). However, Spree has it better documented.
Existing extensions are a great help in the development of e-commerce applications. Both spree and solidus have several official and unofficial extensions that can be easily implemented into your eCommerce store. Some solutions appear for both Solidus and Spree such as Braintree. This is an extension that supports Apple Pay, PayPal, and credit card transactions, whose data customers enter themselves. It is one of the fastest configurations to enable payment with these three sources. A few simple solutions can help you engage your customer base through email marketing and track the resulting revenue (Spree Mailchimp E-commerce API 3.0), or make shopping and store navigation easier by maintaining and displaying recently viewed products (Solidus Recently Viewed).
So, perhaps most of your theoretically custom business requirements have already been solved? This will save a lot of development time. Among other things, you will find libraries to:
- translations managing,
- tracking abandoned carts,
- printing invoices,
- wish lists,
- related products.
As you can see, these are often used in e-commerce features. Even if they don’t meet your expectations 100%, you can simply make a fork of the chosen repository and customize it to your own requirements.
Do you want to find out more about why choose Ruby on Rails for eCommerce?Talk to us!
Both Solidus and Spree offer a fully functional storefront that is also mobile and SEO friendly. This means that you can launch your project really fast.
Working with Spree, as an alternative you can choose one of the start-kits, ready to work with Spree API:
- Next.js Commerce – is an all-in-one kit and it is oriented for high-performance e-commerce sites. The kit makes it very simple to implement a store and customize it. It is worth mentioning that Next.js Commerce integrates with BigCommerce, Shopify, Swell, Saleor, Vendure, Spree, and Commerce.js.
- Vue Storefront – is a platform that helps e-commerce companies improve the performance of their sites on a variety of devices without limiting their functionality or graphical interfaces. Thanks to the modular design, the entire system can be freely composed, so stores can respond better and faster to customer needs.
- Storefront API – is a modular, configurable e-commerce API gateway. It unifies interfaces between systems supporting the frontend and allows data sources to be queried with a single HTTP request.
Today it’s very popular to build native mobile applications dedicated to e-commerce. With Solidus and Spree, you can build them easily, talking with Storefront REST API.
Also, as you can see in the image below, you can build very complex systems, thanks to Spree Platform API:
Ruby on Rails is best for eCommerce
All these features make Ruby on Rails a very stable, easy-to-use, and powerful tool. You can love it or hate it but the truth is that RoR is an excellent tool for developing eCommerce platforms in particular. Its popularity is not falling, and the number of available gems is constantly growing. What’s more, RoR is trusted by very powerful players on the market such as Shopify or Etsy by the way – no wonder – there are really many benefits!