Blog

What is Ruby on Rails (RoR)?

October 22nd, 2008

This is for people that either have never heard of Ruby on Rails, or perhaps have but don’t really get what it is.

Rapid development of Applications

The significant thing about Ruby on Rails is that it has lowered the barrier to entry for writing web applications. People that might previously have done ‘front end’ web stuff (coding HTML, CSS, flash, etc) are now able to get involved in ‘back end’ stuff (the code that runs at the servers end).  While this is a mixed blessing as the quality of application written and the number of Ruby on Rails apps that run slowly, consume more resources than they need to are on the up.  More established back end programmers are now able to produce applications in a much shorter timeframe.

Barriers to entry

Hosting Ruby on Rails applications has been quite a headache though to date - with more traditional PHP based applications you can generally ‘upload and go’, not so for Ruby on Rails. To the inexperienced it can take the best part of a day to get an app up and running. This is why we (EveryCity Managed Hosting) will be launching RailGun their Ruby platform which will ease the pain of setting up Ruby hosting to an absolute minimum.

Is it Scalable?

While this is a seperate topic which we will address in another post, Rails is scalable.  There have been a few applications who have had reported teething problems namely Twitter. However there are a number of deployments of RoR with multiple millions of users which are stable & growing.

Conclusion

Rails has changed the landscape of web app development and there is a flurry of web frameworks on the market currently (many of which borrow elements from it) including: CakePHP, Symfony (PHP), Django (Python), Stripes (Java), and Merb (Ruby). Based on the number of fans it is likely to stay around for the foreseeable future.

Technical Description

Ruby is a programming language (others include Java, Python, Perl, C++) and a line of Ruby code might look like this:

('this is a string'.split(' ').first(3) << 'neat' << 'language').join(' ') => 'this is a neat language'

from here

Rails is a framework, a framework saves a programmer from having to write repetative lines of code by creating shortcuts. The best way to really get to understand Rails (or any other framework) is to use it - which isn’t very practical unless you’re a programmer.

To give you an idea what a framework can do for you: when receiving an HTTP POST or GET request Rails will make these available to you in your code like this: params[:name]. When reading querying the database, instead of having to write SQL queries directly (which you can if you want), you can write: People.find(:first, :conditions => {:name => 'mike'}).

Entry Filed under: Development, Frameworks, Languages, Ruby on Rails

Leave a Comment

Required

Required, hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed