Last Release Date: | January, 2012 |
Technology: | Development tools of applications |
Content |
Ruby on Rails — the program framework written in the Ruby programming language. The Ruby on Rails provides the architectural sample Model-View-Controller (model-view-controller) for web applications and also provides their integration into the Web server and a database server.
Provides a homogeneous environment for development of dynamic AJAX interfaces, with request processing and issues of data in controllers, reflections of data domain in the database.
The Ruby on Rails is open source software and is distributed under the license MIT.
Principles
The Ruby on Rails defines the following principles of application development:
- The Ruby on Rails provides the reuse mechanisms allowing to minimize duplication of the code in applications (the principle of Don't Repeat Yourself).
- The agreements on a configuration typical for the majority of applications (the principle of Convention over configuration) are by default used. The explicit specification of a configuration is required only in non-standard cases.
History
The Ruby on Rails was created by David Heynemeer Hansson on the basis of his work on a management tool projects of Basecamp and released in July, 2004. The latest version is 2.3.8, released on May 25, 2010. On December 23, 2008 the project team of Merb integrated with the Rails command for the purpose of creation of the next version of Rails 3 which will integrate in itself the best lines of both frameworks. The new version is planned to release in 2010. On August 29, 2010 there was Rails 3.0.
Integration
The Ruby on Rails can work with Apache, Lighttpd or any other Web server supporting FastCGI. For development and debugging the WEBrick or Mongrel Web server which is built in Ruby is often used. Using a plug-in in Rails support of the network protocol WebDAV is implemented.
As a database server MySQL, Firebird, PostgreSQL, IBM DB2, Oracle and the Microsoft SQL Server are supported. Also the built-in SQLite database is supported.
For Windows there is an Instant Rails c distribution kit a working environment, configured and ready to work right after installation, for development of Rails-applications which includes the Apache server and MySQL DBMS. For Windows platforms, Linux, Mac OS X is available the complex BitNami RubyStack installer including all necessary for development in the environment of Rails including Ruby, RubyGems, the Ruby on Rails, MySQL, Apache, Mongrel and Subversion.
In addition the websites BitNami.org and JumpBox.com free of charge offer images of VMware from ready to Linux Wednesday for deployment of RoR-applications. These images can be connected to the server of virtual machines or to unroll on the offered cloud hosting.
For development of Ajax-applications of RoR it is delivered with the integrated Prototype and Script.aculo.us JavaScript-libraries, but also it is possible to use also jQuery.
JBoss offers the open Torquebox platform for deployment of Rails-applications plus offering functions of a task scheduler, a message queue, SOAP and even management of SIP sessions.
Ruby on Rails 3.2
Project participants of the Ruby on Rails released the new version of a framework which number of features is aimed at acceleration of creation of web applications at the end of 2011. The main improvements of the Ruby on Rails 3.2 concern the development mode. In particular, every time after change and testing of the program at return to the dev mode only the classes used by this program reboot. On big projects the difference in reset speed in comparison with the previous versions is very notable, authors claim.
In the mechanism of maintaining the transaction journal there was a support of tags that can be convenient when with the application works hard users or when the application is used for different tasks. Now it is possible to filter files of magazines according to tags to see only activity of the specific application or the user.
Among other features - the new method of the summary of requests to databases providing convenience when debugging and the new mechanism of routing Journey accelerating accomplishment of requests from the browser.