Chronicles of Ruby on Rails
Ruby was invented and released (Ruby 0.95) in 1995 by Yukihiro “Matz” Matsumoto in Japan and like any language, it has undergone several changes in its avatar with the latest version being 2.6.1.
Rails were created in 2003 by David Heinemeier Hansson, while working on the code base for Basecamp, a project management tool, by 37signals. David extracted Ruby on Rails (RoR) and officially released it as open source code in July of 2004. RoR is not its own language, but is a library of Ruby gems. Similar to Ruby, the latest build is RoR 5.2.2.
Why Ruby on Rails?
Ruby on Rails is one of the juggernauts and highly valued skills in the startup ecosystem. The Rails framework is based on the principles of Convention over Configuration.
Some of the outstanding qualities of Ruby on Rails according to Tanmaya Gupta, Github: VIBHOR94
- Easy to get started — One of the primary advantage Rails gives you is that it has got excellent documentation. You get many things out of the box itself. The rails community provides you with many awesome and enriched gems that makes your work so easy that it almost feels like magic to the developer. Some of the popular gems are — Devise(authentication),CanCanCan(authorisation), Sidekiq(Background jobs), Rspec(Testing tool) etc.
Convention over configuration principle — The very fundamental notion of Rails is to use convention over configuration. It clearly states that if there is a prescribed way of doing things by the rails community, then use that strictly. This helps a lot as the discrepancy between the developers reduces in way by making things work as fast and as smooth as possible. Also, it helps you maintain the code in the long run.
Rails is developer friendly –
- MVC architecture — Model, View and Controller pattern is a very common and widely used architecture for web applications. The developer even having prior experience in other web frameworks using MVC patterns would find ease using Rails. MVC patterns help in separating code of different concerns i.e. data layer, presentation layer and handling a resource layer.
- Active Record — A powerful and robust library which helps developers write the database interaction query in a very easy manner as if the developer is writing in Ruby itself. It automatically converts your Ruby code to SQL query, gets the result and returns it back as an object. It’s very rare that rails developers use a direct SQL query to get some result as active record library gets most of the task done.
- Simple testing tool — Rails also provides unit testing gems like RSpec which itself is very easy to pick up. It’s plain Ruby which you can use to check the functions used in your application separately by calling them independently. It helps you to present your application with confidence that everything has been properly tested.
- Automated deployment — There are libraries which help to let your code go on production with least effort and time. Its a one-time setup and every change you make can be deployed to the production with a single line of command. There are well and good documentation, tutorials which could help you set up your project with no difficulty even if you don’t have prior experience in deployment.
- An easy programming language: First things first, one of the nice things about Ruby on Rails lies in the Ruby language itself. The syntax is simple, concise, close to the English language and very flexible. For experienced developers, Ruby opens the way for meta-programming (the act of writing code in order for your service to generate other pieces of code automatically) uniquely. Intellectually, it’s a pleasure to structure one’s thinking and to write code in this language.
- Flexibility: Any development will require elements like a database, a front-end and back-end. De facto, to get all the elements to blend and organise is a sweet spot for Rails.
One of the reasons why Ruby on Rails is still sought after, it helps the startups to get their product to market faster as it cuts down on development time.
- Development principles: Ruby on Rails has best practices imbibed to the framework. This allows distributed focus of time for every phase of the development cycle and testing. That apart enables fine-tuning before moving to a subsequent phase, delivers a better application with fewer bugs and errors.
- Open source: In addition to all of the benefits listed above, one of the best things about Ruby on Rails is that it’s opens source. Software licensing costs can be quite expensive and being able to use an open source solution that works as good as Ruby on Rails is a great way for startups to save costs.
- Community: Ruby on Rails is one of the most popular open source programming platforms used by programmers which has a very large and active online community. Through the multitudes of Ruby on Rails dedicated websites, chat rooms and forums, you have access to instant answers from people who have already experienced your problem and solved it. (ruby-lang, deccanruby, Bangalore-Ruby-Users-Group)
Now with such an edge over their counterparts, why Ruby on Rails is now considered dying?
The truth is Ruby is here to stay and isn’t dying but maturing which is a similar pattern to other programming languages. One cannot be oblivious to the fact that programming languages are tools to solve specific problems, and there is no such thing as the best programming language.
Programming freewheelers have raised questions on Ruby’s ability to scale applications when the project grows large. “Ruby can still be the cynosure of the project by moving to a more service-oriented architecture and isolating the bottlenecks in the system”.- Harman Sohanpal(Github: sohanpalh)
With its simple and intuitive code, Ruby facilitates software development and saves time: on average, developers who use Ruby on Rails build applications 30–40% faster than teams that use other technologies.- Forbes
Views from colleagues on why RoR is here to stay,
Vinoth, (Github: avinoth): Having worked in other frameworks, I’m confident RoR is here to stay. Almost none of the other languages/frameworks has tooling that RoR has to get a basic app up and running fast.
RoR is the framework which is built on Ruby. Both the language and the framework is aimed at being programmer friendly.
* best in class tooling
* Best practices imbibed into the framework
* so many resources already out there for a beginner to get started
With the vast majority of big startups like Airbnb, GitHub, Hulu still using the Ruby as the core. It would be a myopic viewpoint to consider that RoR will diminish over time and not be the corundum of programming languages.
Heil Seig Ruby!