07.15.22rails rubyonrails ruby
RAILS—WHY WE USE IT
At Shift, our teams are technology agnostic, meaning we can work in any framework the client brings to us. However, when we get to choose the framework, we’ll usually choose Ruby on Rails (Rails). There’s a variety of ways we’ve found success with Rails but in this blog, we’ll dive into just a few.
QUICK & COST EFFECTIVE
At Shift, we strive to get clients to market faster. We steer clients toward a minimum viable product (MVP) in order to get something tangible in front of users sooner. Ultimately, to figure out if the product is even what the users want and pivot from there.
Rails allows us to do just that. It is very quick to spin up a new project, do some basic prototyping, create an MVP— all with robust support for testing. The syntax is simple to pick up, human-friendly, and can actually be really fun to write. Plus, Rails is established, trusted and used by many large brands today—Airbnb, Goodreads, Dribble, Shopify, to name a few.
It is also very cost effective which makes it more enticing when developing an MVP. At a very basic level, everything is free and open-source (meaning anyone can contribute to the code). With some gems (similar to plugins) that you add on, you’ll find added cost but not always. Compared to other tools, Rails is very cost effective to get started.
FLEXIBLE & STABLE
One of the main reasons we choose Rails is because of its flexibility. It can act as the full solution (both the backend & frontend) or as just the API/backend for mobile apps and frontends built in React, Angular, etc. Because of its versatility, Rails helps us to adapt based on the client’s specific needs.
By utilizing the open source community, Rails is also more secure and stable. There are many contributors working on this product and reviewing each other’s work everyday. The large and open ecosystem of open-source tools allow more efficient results in products without much overhead to incorporate the dependencies/libraries that go into them.
SCALABLE WITH CONSISTENT SUPPORT
The same reasons Rails is stable contribute to it being scalable for large product offerings. Rails has a super dedicated core team and many contributors to both the core product and gems. Below are some Rails tools we’ve used and found success with for many years, and they are updated frequently by open-source contributors:
- Devise: authentication gem with support for registration, email and password validation, email confirmations, account locking, password recovery, login tracking, and more.
- Pundit: simple user role based authorization and scoping that simplify logic elsewhere
- Grape + Swagger: API with automatically generated documentation
- Sidekiq: threaded background job processing
What is also great about the community is the support. When you reach out to contributors with questions, they’re responsive and if you take on a new Rails project, you’ll always have developers to assist.
Interested in learning more about Rails? Check out a few of our other blog posts.