Here at Intesys we’ve been using Ruby on Rails, or simply “Rails”, for a wide variety of projects for more than six years now. We’ve found it to be a mature, reliable, and extremely flexible framework to work with and to date we haven’t run into a single project that Rails wouldn’t be suited for.
Choosing the framework for your business’ applications isn’t something to be taken lightly and there might, of course, be valid reasons for going with other technologies. You may have an existing infrastructure built with other technologies or you may be looking for a solution that already has been solved by an existing product. However, if you’re not constrained to a certain path we would strongly recommend considering Ruby on Rails for your business.
We already are convinced that Rails is a valid alternative for most businesses (many of our projects are Rails-based, just take a look!) and we’d like to share with you some of the major points that may convince you as well.
Something everyone seems to agree with, regardless of their opinions of the Rails framework, is that it’s excellent for quickly getting up and running. It’s probably one of the best choices for developing advanced prototypes.
Rails comes with clear standard ways of doing things and best practices. A bunch of built in generators and community provided libraries let you quickly piece together a prototype complete with CRUD actions and simulated data to make it look as close to finished as possible. By default every part of the application gets an automatic test file generated for it which encourages testing of the application’s behavior right from the start.
When you’re happy with your prototype, it’s easy to build upon it, turning it into exactly the product you need, with a nice layout and rich functionality. The automated tests help ensure nothing gets broken along the way.
The rapid development and flexibility of Rails makes it highly cost effective. Time and money can be invested where it counts – on adding and improving functionality, instead of fighting the framework.
A basic software development principle, which is highly encouraged in the Rails community, is to avoid repeating yourself by reusing code through modularization. The nature and expressiveness of the Ruby programming language makes this practice particularly easy to adhere to which in turn gives a, well written, Rails application an advantage over many other frameworks.
Another important consequence of a modular, well maintained, application is lower evolution/maintenance costs since modifications can be made at single points instead of spread out all over the codebase.
There are many advantages of adopting an Agile approach to software development. Not only does it help structuring the development process but, done properly, it can help focus the whole project on your core business values.
In our experience it also creates a good, creative, working relationship between client and developer where ideas get shared and turned into innovative solutions to problems that might not have been clear at the start of the project.
The cyclic, iterative, nature of Agile development is ideal for dealing with change. We have yet to find a project that could be perfectly defined and structured right from the start. This means that the flexibility of an Agile approach is essential in order to reach the desired end result.
Ruby on Rails is open source software. This means that there are no licenses to pay and that the framework is more secure since anyone can review the code and voice their security concerns or submit patches. There is a large community around the framework with over 3000 individual contributors for the framework itself and many, many thousands more contributing with external libraries (called gems) extending the framework in any way you can think of.
Another important consequence of using an open source framework when developing your application is that ownership lies with you and knowledge of the technology is widespread. This becomes important, should you decide to switch to another software house later on (however, we are confident that you will not want to!).
Building web services with Rails is very nice compared to many other frameworks. Rails allows us to expose our data in multiple formats depending on who is asking for it. This makes it easy to develop an application that, for example, is available through a web interface but, at the same time, also through a native mobile application.
The other side of this coin is that APIs can be constructed quickly and efficiently, be it a RESTful web service or a WSDL or SOAP one. We have built several mobile backends where a product catalog, or some other data collection, can be managed through an authenticated administrative interface and accessed through native iPhone or Android devices. We think this is an area where Rails excels.
If you are looking for an eCommerce solution for your business, chances are you’ve heard about Spree. Spree is a complete open source eCommerce solution built with Ruby on Rails used by over 45.000 retailers around the world. Even more likely, you’ve heard about Shopify which is a commercial eCommerce product which also is built with Rails. Shopify is used by more than 300.000 online stores.
There are several other eCommerce solutions built with Rails and it’s no coincidence that so many software houses and businesses decide to invest in Rails as the framework for their eCommerce platforms. The Rails community provides a huge amount of good quality libraries for any conceivable need you may have. Everything from integration between your existing application and commercial eCommerce solutions to APIs for payment gateways, delivery services, currency exchange rates and much more already exist.
All this, of course, doesn’t mean that your application writes itself but it allows us to focus on your core business instead of reinventing something as complex as a complete eCommerce solution.
These are just some of the many important factors that we think make Rails a very interesting framework to consider for your next application. We hope that we’ve managed to pique your interest in the Rails framework and the impact it could have on your business.
If you’d like to know more about how we work and what we can do for you, just contact us!