Ruby on Rails
| Ruby on Rails | |
The Rails Default Page |
|
| Developer: | Rails Core Team |
|---|---|
| Latest release: | 1.2.4 / October 5, 2007 |
| Preview release: | 1.2.3 / March 14, 2007 |
| OS: | Cross-platform |
| Genre: | Web application framework |
| License: | MIT License |
| Website: | rubyonrails.org |
Ruby on Rails is a free web application framework that aims to increase the speed and ease with which database-driven web sites can be created and offers skeleton code frameworks (scaffolding) from the outset. Often shortened to Rails, or RoR, Ruby on Rails is an open source project written in the Ruby programming language and applications using the Rails framework are developed using the Model-View-Controller design paradigm.
Philosophy
The fundamental Ruby on Rails principles include convention over configuration (CoC) and don't repeat yourself (DRY).
"Convention over configuration": developers need only specify unconventional aspects of their application. Eg if there's a class Sale in the model the corresponding table in the database is called sales by default. It is only if one deviates from this convention such as by calling the table "products_sold" that one needs to write code regarding these names.
'Don't repeat yourself': information is always in a single unambiguous location. Eg using ActiveRecord developer need not specify database column names in class definitions - Ruby retrieves this information automatically from the database.
Rails is therefore often described as 'opinionated software' - a point of contention for many of its critics.
History
Ruby on Rails was extracted by David Heinemeier Hansson from his work on Basecamp, a project-management tool by the web design (now web application) company 37signals.[1] It was first released to the public in July 2004.
In August 2006 it was announced that Apple will ship Ruby on Rails with Mac OS X v10.5 Leopard,[2] scheduled for release in October 2007.
Significance
Ruby on Rails led the charge among next-generation web application frameworks, popularizing features that are now considered standard, such as scaffolding, object-relational mapping and simple installation. Other projects such as Django and TurboGears followed suit.
Technical overview
Like many contemporary web frameworks, Rails uses the Model-View-Controller (MVC) architecture for organising application programming.
Rails provides 'out of the box' scaffolding which can quickly construct most of the models and views needed for a basic website. Other helpful development tools come with or are installed with Rails, such as the WEBrick web server, and the Rake build system.
Rails is also noteworthy for its extensive use of the JavaScript libraries Prototype and Script.aculo.us for Ajax and its graphical interface.
For web services Rails initially supported lightweight SOAP; later it was replaced by RESTful web services. The recommended REST based programming structure changes drastically in version 1.2.
Framework structure
Ruby on Rails divides itself into various packages, namely Active Record, Action Pack, Active Support, Action Mailer and Action Web Service. Apart from standard packages, developers can make plugins to extend existing packages.
Trademarks
In March 2007 David Heinemeier Hansson filed three Rails related trademark applications to the USPTO. These applications regard the phrase "RUBY ON RAILS",[3] the word "RAILS"[4] and the official Rails logo.[5] As a consequence, in the summer of 2007 David Heinemeier Hansson denied to Apress the permission to use the Rails logo on the cover of a new Rails book written by some authoritative community members. The episode gave rise to a polite protest in the Rails community.[6][7]In response to this criticism, David Heinemeier Hansson made the following claims:[8]
- I only grant promotional use [of the Rails logo] for products I'm directly involved with. Such as books that I've been part of the development process for or conferences where I have a say in the execution.
- I would most definitely seek to enforce all the trademarks of Rails.
Projects using Rails
- Basecamp – online project management
- BBC Programme Catalogue – video and audio archives from BBC television and radio
- Blurb.com – personal book publishing
- ChaCha.com - a human-powered search engine
- Justin.tv - A live video streaming platform
- OpenCongress – Aggregated news and official data about the US Congress
- Penny Arcade – gamer-humor webcomic
- Revolution Health – a health portal
- Twitter – micro-blogging service
- yellowpages.com – US telephone directory
See also
- Ruby (programming language)
- JRuby
- List of web application frameworks
- Comparison of web application frameworks
References
- ^ Grimmer, Lenz (2006-02). Interview with David Heinemeier Hansson from Ruby on Rails. MySQL AB. Retrieved on 2007-07-13.
- ^ David, Hansson (2006-08-07). Ruby on Rails will ship with OS X 10.5 (Leopard). Retrieved on 2007-07-13.
- ^ "Ruby on Rails" Trademark Status. USPTO. Retrieved on 2007-08-01.
- ^ "Rails" Trademark Status. USPTO. Retrieved on 2007-08-01.
- ^ Rails Logo Trademark Status. USPTO. Retrieved on 2007-08-01.
- ^ Forde, Pete (2007-07-23). Beginning Rails: From Novice to Professional. Retrieved on 2007-08-01.
- ^ Cooper, Peter (2007-07-24). David Heinemeier Hansson says No to Use of Rails Logo. Retrieved on 2007-08-01.
- ^ Forde, Pete (2007-07-23). Beginning Rails: From Novice to Professional. Retrieved on 2007-08-01.
External links
- rubyonrails.org
- Rails Projects
- RailsLodge plugin directory
- Ruby Forge
- Full Ruby on Rails Tutorial
- Instant Ruby on Rails : Open Source Rails runtime for Windows
- BitRock Ruby Stack : Open Source Rails runtime for Linux, Mac OS X.
- Locomotive : Open Source Rails runtime for Mac OS X
- HappyCodr - Sites made with Rails
- Working With Rails - Discover the Ruby on Rails communityzh-yue:Ruby on Rails
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)





