Recent Edits
This is a by no means exhaustive or representative list, taken from Wikipedia.
* Basecamp – online project management
* BBC...
» complete changeThis is a by no means exhaustive or representative list, taken from Wikipedia.
* Basecamp – online project management
* BBC Programme Catalogue – video and audio archives from BBC television and radio
* 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
<ul style='border:1px solid #f0f0f0; background:#f8f8f8; margin:1em; float:right; width:5em;'><li><a class='navlink' href='http://swik.net/Rails?popular'>popular...
» complete change<ul style='border:1px solid #f0f0f0; background:#f8f8f8; margin:1em; float:right; width:5em;'><li><a class='navlink' href='http://swik.net/Rails?popular'>popular rails pages</a></li></ul> projects</a></li><li><a class='navlink' href='http://swik.net/Rails/ruby+on+rails+tag-digest.'>what's new with ruby on rails?</li></ul>
Rails is a very popular Web application framework for [[Ruby]] modeled after the [[MVC]] pattern.
The Rails framework allows a developer to build database applications in Ruby quickly and easily, while emphasizing MVC design. As such, Rails consists of Model, View and Controller components.
h2. Rails' MVC
The Rails Model component is a set of classes that use Active Record, an [[ORM]] class that maps database tables to objects. Active Record uses naming conventions to determine mappings, thus a specific set of rules must be followed in order for Active Record to easily understand a database.
For View, Rails uses a similar system to [[JSP]]/[[ASP]]: [[html]] files with injections of code. The idea is that HTML files serve as templates, and dynamic elements are inserted at render time.
Finally as a Controller Rails uses 'Action Pack', which includes a class called ApplicationController. Rails controller development involves subclassing the ApplicationController class and writing methods that reference actions serviced by the Rails application. For example, an action might be to render a widget id=5, this would correspond to the widget method, widget.rhtml would be the template, and the url would be /widget/5.
Rails can automatically build an MVC application capable of [[CRUD]] based on a database set up using Rails' naming convention using something called 'scaffolding', which generates the various classes and rhtml files needed to perform CRUD on an arbitrary table design. Scaffolding is not a replacement for application design, but rather a way to introduce new users to Rails, and to speed application development by putting basic pillars in place quickly for experienced Rails developers.
Ruby on rails also allows developers to easily add pre-written code in the form of a plugin. This may be from a small validation or helper method to a whole login system. The "Rails Lodge plugin directory":http://www.railslodge.com has a detailed list on what is currently available.
Although Rails uses on things like naming conventions and set url schemas, these are all overrideable and merely serve as a default setup. Rails' URL schema is notable for not relying on GETs in a query string, this is possibly in response to [[Google]], whose search rewards sites that do not use query strings to construct entire pages.
h2. The History of Rails
Rails was developed and released in 2004 by [[David Heinemeier Hansson]], a developer at [[37Signals]]. 37Signals is a web application development and consulting firm, and David had used Rails to help in writing Basecamp, a commercial project management web service offered by the company.
Since its release, Rails has had various major releases, starting with the stable 1.0 release in December of 2005 and a major update in version 1.1 released in March of 2006. Over time, Rails has incorporated [[Ajax]] built in functionalities, and many of the subsequent applications 37Signals has built using Rails have showcased this, including the free web service "Backpack":http://backpackit.com.
h2. Server integration
Ruby on Rails can run on any [[httpd|web server]] that supports [[CGI]], or preferrably [[FastCGI]]. [[mod_ruby]]+[[Apache]] is another option, however it is discouraged as unlike mod_php, mod_ruby should not be used with multiple sites running on the same Apache server. This problem is often a source of criticism for the framework, as lacking a safe native module, Rails cannot run as quickly as it might.
Rails also supports a wide variety of [[database]] servers, ranging from an embedded [[SQLite]] library to [[Oracle]]. Most users of Rails choose [[MySQL]] or [[PostgreSQL]] as a backend database server, Rails' object relational mapping means that database access is abstracted and a developer can use whichever database they are comfortable with.
Ruby on rails also allows developers to easily add pre-written code in the form of a plugin. This may be from a small validation...
» complete change<ul style='border:1px solid #f0f0f0; background:#f8f8f8; margin:1em; float:right; width:5em;'><li><a class='navlink' href='http://swik.net/Rails?popular'>popular rails projects</a></li><li><a class='navlink' href='http://swik.net/Rails/ruby+on+rails+tag-digest.'>what's new with ruby on rails?</li></ul>
Rails is a very popular Web application framework for [[Ruby]] modeled after the [[MVC]] pattern.
The Rails framework allows a developer to build database applications in Ruby quickly and easily, while emphasizing MVC design. As such, Rails consists of Model, View and Controller components.
h2. Rails' MVC
The Rails Model component is a set of classes that use Active Record, an [[ORM]] class that maps database tables to objects. Active Record uses naming conventions to determine mappings, thus a specific set of rules must be followed in order for Active Record to easily understand a database.
For View, Rails uses a similar system to [[JSP]]/[[ASP]]: [[html]] files with injections of code. The idea is that HTML files serve as templates, and dynamic elements are inserted at render time.
Finally as a Controller Rails uses 'Action Pack', which includes a class called ApplicationController. Rails controller development involves subclassing the ApplicationController class and writing methods that reference actions serviced by the Rails application. For example, an action might be to render a widget id=5, this would correspond to the widget method, widget.rhtml would be the template, and the url would be /widget/5.
Rails can automatically build an MVC application capable of [[CRUD]] based on a database set up using Rails' naming convention using something called 'scaffolding', which generates the various classes and rhtml files needed to perform CRUD on an arbitrary table design. Scaffolding is not a replacement for application design, but rather a way to introduce new users to Rails, and to speed application development by putting basic pillars in place quickly for experienced Rails developers.
Ruby on rails also allows developers to easily add pre-written code in the form of a plugin. This may be from a small validation or helper method to a whole login system. The "Rails Lodge plugin directory":http://www.railslodge.com has a detailed list on what is currently available.
Although Rails uses on things like naming conventions and set url schemas, these are all overrideable and merely serve as a default setup. Rails' URL schema is notable for not relying on GETs in a query string, this is possibly in response to [[Google]], whose search rewards sites that do not use query strings to construct entire pages.
h2. The History of Rails
Rails was developed and released in 2004 by [[David Heinemeier Hansson]], a developer at [[37Signals]]. 37Signals is a web application development and consulting firm, and David had used Rails to help in writing Basecamp, a commercial project management web service offered by the company.
Since its release, Rails has had various major releases, starting with the stable 1.0 release in December of 2005 and a major update in version 1.1 released in March of 2006. Over time, Rails has incorporated [[Ajax]] built in functionalities, and many of the subsequent applications 37Signals has built using Rails have showcased this, including the free web service "Backpack":http://backpackit.com.
h2. Server integration
Ruby on Rails can run on any [[httpd|web server]] that supports [[CGI]], or preferrably [[FastCGI]]. [[mod_ruby]]+[[Apache]] is another option, however it is discouraged as unlike mod_php, mod_ruby should not be used with multiple sites running on the same Apache server. This problem is often a source of criticism for the framework, as lacking a safe native module, Rails cannot run as quickly as it might.
Rails also supports a wide variety of [[database]] servers, ranging from an embedded [[SQLite]] library to [[Oracle]]. Most users of Rails choose [[MySQL]] or [[PostgreSQL]] as a backend database server, Rails' object relational mapping means that database access is abstracted and a developer can use whichever database they are comfortable with.
<ul style='border:1px solid #f0f0f0; background:#f8f8f8; margin:1em; float:right; width:5em;'><li><a class='navlink' href='http://swik.net/Rails?popular'>popular...
» complete change<ul style='border:1px solid #f0f0f0; background:#f8f8f8; margin:1em; float:right; width:5em;'><li><a class='navlink' href='http://swik.net/Rails?popular'>popular rails projects</a></li><li><a class='navlink' href='http://swik.net/Rails/ruby+on+rails+tag-digest.'>what's new with ruby on rails?</li></ul> glub glub gatorade tastes gooooooood
Rails is a very popular Web application framework for [[Ruby]] modeled after the [[MVC]] pattern.
The Rails framework allows a developer to build database applications in Ruby quickly and easily, while emphasizing MVC design. As such, Rails consists of Model, View and Controller components.
h2. Rails' MVC
The Rails Model component is a set of classes that use Active Record, an [[ORM]] class that maps database tables to objects. Active Record uses naming conventions to determine mappings, thus a specific set of rules must be followed in order for Active Record to easily understand a database.
For View, Rails uses a similar system to [[JSP]]/[[ASP]]: [[html]] files with injections of code. The idea is that HTML files serve as templates, and dynamic elements are inserted at render time.
Finally as a Controller Rails uses 'Action Pack', which includes a class called ApplicationController. Rails controller development involves subclassing the ApplicationController class and writing methods that reference actions serviced by the Rails application. For example, an action might be to render a widget id=5, this would correspond to the widget method, widget.rhtml would be the template, and the url would be /widget/5.
Rails can automatically build an MVC application capable of [[CRUD]] based on a database set up using Rails' naming convention using something called 'scaffolding', which generates the various classes and rhtml files needed to perform CRUD on an arbitrary table design. Scaffolding is not a replacement for application design, but rather a way to introduce new users to Rails, and to speed application development by putting basic pillars in place quickly for experienced Rails developers.
Although Rails uses on things like naming conventions and set url schemas, these are all overrideable and merely serve as a default setup. Rails' URL schema is notable for not relying on GETs in a query string, this is possibly in response to [[Google]], whose search rewards sites that do not use query strings to construct entire pages.
h2. The History of Rails
Rails was developed and released in 2004 by [[David Heinemeier Hansson]], a developer at [[37Signals]]. 37Signals is a web application development and consulting firm, and David had used Rails to help in writing Basecamp, a commercial project management web service offered by the company.
Since its release, Rails has had various major releases, starting with the stable 1.0 release in December of 2005 and a major update in version 1.1 released in March of 2006. Over time, Rails has incorporated [[Ajax]] built in functionalities, and many of the subsequent applications 37Signals has built using Rails have showcased this, including the free web service "Backpack":http://backpackit.com.
h2. Server integration
Ruby on Rails can run on any [[httpd|web server]] that supports [[CGI]], or preferrably [[FastCGI]]. [[mod_ruby]]+[[Apache]] is another option, however it is discouraged as unlike mod_php, mod_ruby should not be used with multiple sites running on the same Apache server. This problem is often a source of criticism for the framework, as lacking a safe native module, Rails cannot run as quickly as it might.
Rails also supports a wide variety of [[database]] servers, ranging from an embedded [[SQLite]] library to [[Oracle]]. Most users of Rails choose [[MySQL]] or [[PostgreSQL]] as a backend database server, Rails' object relational mapping means that database access is abstracted and a developer can use whichever database they are comfortable with.
glub glub gatorade tastes gooooooood <ul style='border:1px solid #f0f0f0; background:#f8f8f8; margin:1em; float:right; width:5em;'><li><a...
glub glub gatorade tastes gooooooood <ul style='border:1px solid #f0f0f0; background:#f8f8f8; margin:1em; float:right; width:5em;'><li><a class='navlink' href='http://swik.net/Rails?popular'>popular rails projects</a></li><li><a class='navlink' href='http://swik.net/Rails/ruby+on+rails+tag-digest.'>what's new with ruby on rails?</li></ul>
Rails is a very popular Web application framework for [[Ruby]] modeled after the [[MVC]] pattern.
The Rails framework allows a developer to build database applications in Ruby quickly and easily, while emphasizing MVC design. As such, Rails consists of Model, View and Controller components.
h2. Rails' MVC
The Rails Model component is a set of classes that use Active Record, an [[ORM]] class that maps database tables to objects. Active Record uses naming conventions to determine mappings, thus a specific set of rules must be followed in order for Active Record to easily understand a database.
For View, Rails uses a similar system to [[JSP]]/[[ASP]]: [[html]] files with injections of code. The idea is that HTML files serve as templates, and dynamic elements are inserted at render time.
Finally as a Controller Rails uses 'Action Pack', which includes a class called ApplicationController. Rails controller development involves subclassing the ApplicationController class and writing methods that reference actions serviced by the Rails application. For example, an action might be to render a widget id=5, this would correspond to the widget method, widget.rhtml would be the template, and the url would be /widget/5.
Rails can automatically build an MVC application capable of [[CRUD]] based on a database set up using Rails' naming convention using something called 'scaffolding', which generates the various classes and rhtml files needed to perform CRUD on an arbitrary table design. Scaffolding is not a replacement for application design, but rather a way to introduce new users to Rails, and to speed application development by putting basic pillars in place quickly for experienced Rails developers.
Although Rails uses on things like naming conventions and set url schemas, these are all overrideable and merely serve as a default setup. Rails' URL schema is notable for not relying on GETs in a query string, this is possibly in response to [[Google]], whose search rewards sites that do not use query strings to construct entire pages.
h2. The History of Rails
Rails was developed and released in 2004 by [[David Heinemeier Hansson]], a developer at [[37Signals]]. 37Signals is a web application development and consulting firm, and David had used Rails to help in writing Basecamp, a commercial project management web service offered by the company.
Since its release, Rails has had various major releases, starting with the stable 1.0 release in December of 2005 and a major update in version 1.1 released in March of 2006. Over time, Rails has incorporated [[Ajax]] built in functionalities, and many of the subsequent applications 37Signals has built using Rails have showcased this, including the free web service "Backpack":http://backpackit.com.
h2. Server integration
Ruby on Rails can run on any [[httpd|web server]] that supports [[CGI]], or preferrably [[FastCGI]]. [[mod_ruby]]+[[Apache]] is another option, however it is discouraged as unlike mod_php, mod_ruby should not be used with multiple sites running on the same Apache server. This problem is often a source of criticism for the framework, as lacking a safe native module, Rails cannot run as quickly as it might.
Rails also supports a wide variety of [[database]] servers, ranging from an embedded [[SQLite]] library to [[Oracle]]. Most users of Rails choose [[MySQL]] or [[PostgreSQL]] as a backend database server, Rails' object relational mapping means that database access is abstracted and a developer can use whichever database they are comfortable with.
Brought to you by Casey Gollan
Ruby, Rails, and Randomness
Rails was developed and released in 2004 1994 by [[David Heinemeier Hansson]], a developer at [[37Signals]]. 37Signals is a...
<ul style='border:1px solid #f0f0f0; background:#f8f8f8; margin:1em; float:right; width:5em;'><li><a class='navlink' href='http://swik.net/Rails?popular'>popular rails projects</a></li><li><a class='navlink' href='http://swik.net/Rails/ruby+on+rails+tag-digest.'>what's new with ruby on rails?</li></ul>
Rails is a very popular Web application framework for [[Ruby]] modeled after the [[MVC]] pattern.
The Rails framework allows a developer to build database applications in Ruby quickly and easily, while emphasizing MVC design. As such, Rails consists of Model, View and Controller components.
h2. Rails' MVC
The Rails Model component is a set of classes that use Active Record, an [[ORM]] class that maps database tables to objects. Active Record uses naming conventions to determine mappings, thus a specific set of rules must be followed in order for Active Record to easily understand a database.
For View, Rails uses a similar system to [[JSP]]/[[ASP]]: [[html]] files with injections of code. The idea is that HTML files serve as templates, and dynamic elements are inserted at render time.
Finally as a Controller Rails uses 'Action Pack', which includes a class called ApplicationController. Rails controller development involves subclassing the ApplicationController class and writing methods that reference actions serviced by the Rails application. For example, an action might be to render a widget id=5, this would correspond to the widget method, widget.rhtml would be the template, and the url would be /widget/5.
Rails can automatically build an MVC application capable of [[CRUD]] based on a database set up using Rails' naming convention using something called 'scaffolding', which generates the various classes and rhtml files needed to perform CRUD on an arbitrary table design. Scaffolding is not a replacement for application design, but rather a way to introduce new users to Rails, and to speed application development by putting basic pillars in place quickly for experienced Rails developers.
Although Rails uses on things like naming conventions and set url schemas, these are all overrideable and merely serve as a default setup. Rails' URL schema is notable for not relying on GETs in a query string, this is possibly in response to [[Google]], whose search rewards sites that do not use query strings to construct entire pages.
h2. The History of Rails
Rails was developed and released in 2004 1994 by [[David Heinemeier Hansson]], a developer at [[37Signals]]. 37Signals is a web application development and consulting firm, and David had used Rails to help in writing Basecamp, a commercial project management web service offered by the company.
Since its release, Rails has had various major releases, starting with the stable 1.0 release in December of 2005 and a major update in version 1.1 released in March of 2006. Over time, Rails has incorporated [[Ajax]] built in functionalities, and many of the subsequent applications 37Signals has built using Rails have showcased this, including the free web service "Backpack":http://backpackit.com.
h2. Server integration
Ruby on Rails can run on any [[httpd|web server]] that supports [[CGI]], or preferrably [[FastCGI]]. [[mod_ruby]]+[[Apache]] is another option, however it is discouraged as unlike mod_php, mod_ruby should not be used with multiple sites running on the same Apache server. This problem is often a source of criticism for the framework, as lacking a safe native module, Rails cannot run as quickly as it might.
Rails also supports a wide variety of [[database]] servers, ranging from an embedded [[SQLite]] library to [[Oracle]]. Most users of Rails choose [[MySQL]] or [[PostgreSQL]] as a backend database server, Rails' object relational mapping means that database access is abstracted and a developer can use whichever database they are comfortable with.
<ul style='border:1px solid #f0f0f0; background:#f8f8f8; margin:1em; float:right; width:5em;'><li><a class='navlink' href='http://swik.net/Rails?popular'>popular...
» complete change<ul style='border:1px solid #f0f0f0; background:#f8f8f8; margin:1em; float:right; width:5em;'><li><a class='navlink' href='http://swik.net/Rails?popular'>popular rails projects</a></li><li><a class='navlink' href='http://swik.net/Rails/ruby+on+rails+tag-digest.'>what's new with ruby on rails?</li></ul> projects</a></li></ul>
Rails is a very popular Web application framework for [[Ruby]] modeled after the [[MVC]] pattern.
The Rails framework allows a developer to build database applications in Ruby quickly and easily, while emphasizing MVC design. As such, Rails consists of Model, View and Controller components.
h2. Rails' MVC
The Rails Model component is a set of classes that use Active Record, an [[ORM]] class that maps database tables to objects. Active Record uses naming conventions to determine mappings, thus a specific set of rules must be followed in order for Active Record to easily understand a database.
For View, Rails uses a similar system to [[JSP]]/[[ASP]]: [[html]] files with injections of code. The idea is that HTML files serve as templates, and dynamic elements are inserted at render time.
Finally as a Controller Rails uses 'Action Pack', which includes a class called ApplicationController. Rails controller development involves subclassing the ApplicationController class and writing methods that reference actions serviced by the Rails application. For example, an action might be to render a widget id=5, this would correspond to the widget method, widget.rhtml would be the template, and the url would be /widget/5.
Rails can automatically build an MVC application capable of [[CRUD]] based on a database set up using Rails' naming convention using something called 'scaffolding', which generates the various classes and rhtml files needed to perform CRUD on an arbitrary table design. Scaffolding is not a replacement for application design, but rather a way to introduce new users to Rails, and to speed application development by putting basic pillars in place quickly for experienced Rails developers.
Although Rails uses on things like naming conventions and set url schemas, these are all overrideable and merely serve as a default setup. Rails' URL schema is notable for not relying on GETs in a query string, this is possibly in response to [[Google]], whose search rewards sites that do not use query strings to construct entire pages.
h2. The History of Rails
Rails was developed and released in 1994 by [[David Heinemeier Hansson]], a developer at [[37Signals]]. 37Signals is a web application development and consulting firm, and David had used Rails to help in writing Basecamp, a commercial project management web service offered by the company.
Since its release, Rails has had various major releases, starting with the stable 1.0 release in December of 2005 and a major update in version 1.1 released in March of 2006. Over time, Rails has incorporated [[Ajax]] built in functionalities, and many of the subsequent applications 37Signals has built using Rails have showcased this, including the free web service "Backpack":http://backpackit.com.
h2. Server integration
Ruby on Rails can run on any [[httpd|web server]] that supports [[CGI]], or preferrably [[FastCGI]]. [[mod_ruby]]+[[Apache]] is another option, however it is discouraged as unlike mod_php, mod_ruby should not be used with multiple sites running on the same Apache server. This problem is often a source of criticism for the framework, as lacking a safe native module, Rails cannot run as quickly as it might.
Rails also supports a wide variety of [[database]] servers, ranging from an embedded [[SQLite]] library to [[Oracle]]. Most users of Rails choose [[MySQL]] or [[PostgreSQL]] as a backend database server, Rails' object relational mapping means that database access is abstracted and a developer can use whichever database they are comfortable with.
<ul style='border:1px solid #f0f0f0; background:#f8f8f8; margin:1em; float:right; width:5em;'><li><a class='navlink' href='http://swik.net/Rails?popular'>popular...
» complete change<ul style='border:1px solid #f0f0f0; background:#f8f8f8; margin:1em; float:right; width:5em;'><li><a class='navlink' href='http://swik.net/Rails?popular'>popular rails projects</a></li></ul>
Rails is a very popular Web application framework for [[Ruby]] modeled after the [[MVC]] pattern.
The Rails framework allows a developer to build database applications in Ruby quickly and easily, while emphasizing MVC design. As such, Rails consists of Model, View and Controller components.
h2. Rails' MVC
The Rails Model component is a set of classes that use Active Record, an [[ORM]] class that maps database tables to objects. Active Record uses naming conventions to determine mappings, thus a specific set of rules must be followed in order for Active Record to easily understand a database.
For View, Rails uses a similar system to [[JSP]]/[[ASP]]: [[html]] files with injections of code. The idea is that HTML files serve as templates, and dynamic elements are inserted at render time.
Finally as a Controller Rails uses 'Action Pack', which includes a class called ApplicationController. Rails controller development involves subclassing the ApplicationController class and writing methods that reference actions serviced by the Rails application. For example, an action might be to render a widget id=5, this would correspond to the widget method, widget.rhtml would be the template, and the url would be /widget/5.
Rails can automatically build an MVC application capable of [[CRUD]] based on a database set up using Rails' naming convention using something called 'scaffolding', which generates the various classes and rhtml files needed to perform CRUD on an arbitrary table design. Scaffolding is not a replacement for application design, but rather a way to introduce new users to Rails, and to speed application development by putting basic pillars in place quickly for experienced Rails developers.
Although Rails uses on things like naming conventions and set url schemas, these are all overrideable and merely serve as a default setup. Rails' URL schema is notable for not relying on GETs in a query string, this is possibly in response to [[Google]], whose search rewards sites that do not use query strings to construct entire pages.
h2. The History of Rails
Rails was developed and released in 1994 by [[David Heinemeier Hansson]], a developer at [[37Signals]]. 37Signals is a web application development and consulting firm, and David had used Rails to help in writing Basecamp, a commercial project management web service offered by the company.
Since its release, Rails has had various major releases, starting with the stable 1.0 release in December of 2005 and a major update in version 1.1 released in March of 2006. Over time, Rails has incorporated [[Ajax]] built in functionalities, and many of the subsequent applications 37Signals has built using Rails have showcased this, including the free web service "Backpack":http://backpackit.com.
h2. Server integration
Ruby on Rails can run on any [[httpd|web server]] that supports [[CGI]], or preferrably [[FastCGI]]. [[mod_ruby]]+[[Apache]] is another option, however it is discouraged as unlike mod_php, mod_ruby should not be used with multiple sites running on the same Apache server. This problem is often a source of criticism for the framework, as lacking a safe native module, Rails cannot run as quickly as it might.
Rails also supports a wide variety of [[database]] servers, ranging from an embedded [[SQLite]] library to [[Oracle]]. Most users of Rails choose [[MySQL]] or [[PostgreSQL]] as a backend database server, Rails' object relational mapping means that database access is abstracted and a developer can use whichever database they are comfortable with.
<ul style='border:1px solid #f0f0f0; background:#f8f8f8; margin:1em; float:right; width:5em;'><li><a href='http://swik.net/Rails?popular'>popular...
» complete change<ul style='border:1px solid #f0f0f0; background:#f8f8f8; margin:1em; float:right; width:5em;'><li><a href='http://swik.net/Rails?popular'>popular rails projects</a></li></ul>
Rails is a very popular Web application framework for [[Ruby]] modeled after the [[MVC]] pattern.
The Rails framework allows a developer to build database applications in Ruby quickly and easily, while emphasizing MVC design. As such, Rails consists of Model, View and Controller components.
h2. Rails' MVC
The Rails Model component is a set of classes that use Active Record, an [[ORM]] class that maps database tables to objects. Active Record uses naming conventions to determine mappings, thus a specific set of rules must be followed in order for Active Record to easily understand a database.
For View, Rails uses a similar system to [[JSP]]/[[ASP]]: [[html]] files with injections of code. The idea is that HTML files serve as templates, and dynamic elements are inserted at render time.
Finally as a Controller Rails uses 'Action Pack', which includes a class called ApplicationController. Rails controller development involves subclassing the ApplicationController class and writing methods that reference actions serviced by the Rails application. For example, an action might be to render a widget id=5, this would correspond to the widget method, widget.rhtml would be the template, and the url would be /widget/5.
Rails can automatically build an MVC application capable of [[CRUD]] based on a database set up using Rails' naming convention using something called 'scaffolding', which generates the various classes and rhtml files needed to perform CRUD on an arbitrary table design. Scaffolding is not a replacement for application design, but rather a way to introduce new users to Rails, and to speed application development by putting basic pillars in place quickly for experienced Rails developers.
Although Rails uses on things like naming conventions and set url schemas, these are all overrideable and merely serve as a default setup. Rails' URL schema is notable for not relying on GETs in a query string, this is possibly in response to [[Google]], whose search rewards sites that do not use query strings to construct entire pages.
h2. The History of Rails
Rails was developed and released in 1994 by [[David Heinemeier Hansson]], a developer at [[37Signals]]. 37Signals is a web application development and consulting firm, and David had used Rails to help in writing Basecamp, a commercial project management web service offered by the company.
Since its release, Rails has had various major releases, starting with the stable 1.0 release in December of 2005 and a major update in version 1.1 released in March of 2006. Over time, Rails has incorporated [[Ajax]] built in functionalities, and many of the subsequent applications 37Signals has built using Rails have showcased this, including the free web service "Backpack":http://backpackit.com.
h2. Server integration
Ruby on Rails can run on any [[httpd|web server]] that supports [[CGI]], or preferrably [[FastCGI]]. [[mod_ruby]]+[[Apache]] is another option, however it is discouraged as unlike mod_php, mod_ruby should not be used with multiple sites running on the same Apache server. This problem is often a source of criticism for the framework, as lacking a safe native module, Rails cannot run as quickly as it might.
Rails also supports a wide variety of [[database]] servers, ranging from an embedded [[SQLite]] library to [[Oracle]]. Most users of Rails choose [[MySQL]] or [[PostgreSQL]] as a backend database server, Rails' object relational mapping means that database access is abstracted and a developer can use whichever database they are comfortable with.
Rails is a very popular Web application framework for [[Ruby]] modeled after the [[MVC]] pattern.
The Rails framework allows...
» complete changeRails is a very popular Web application framework for [[Ruby]] modeled after the [[MVC]] pattern.
The Rails framework allows a developer to build database applications in Ruby quickly and easily, while emphasizing MVC design. As such, Rails consists of Model, View and Controller components.
h2. Rails' MVC
The Rails Model component is a set of classes that use Active Record, an [[ORM]] class that maps database tables to objects. Active Record It uses naming conventions to determine mappings, thus a specific set of rules must be followed in order Action Pack for the Controller and View, Active Record to easily understand a database.
For View, Rails uses a similar system to [[JSP]]/[[ASP]]: [[html]] files with injections of code. The idea is that HTML files serve as templates, and dynamic elements are inserted at render time.
Finally as a Controller Rails uses 'Action Pack', which includes a class called ApplicationController. Rails controller development involves subclassing the ApplicationController class and writing methods that reference actions serviced by the Rails application. For example, an action might be to render a widget id=5, this would correspond to the widget method, widget.rhtml would be the template, and the url would be /widget/5.
Rails can automatically build an MVC application capable of [[CRUD]] based on a database set up using Rails' naming convention using something called 'scaffolding', which generates the various classes and rhtml files needed to perform CRUD on an arbitrary table design. Scaffolding is not a replacement for application design, but rather a way to introduce new users to Rails, and to speed application development by putting basic pillars in place quickly for experienced Rails developers.
Although Rails uses on things like naming conventions and set url schemas, these are all overrideable and merely serve as a default setup. Rails' URL schema is notable for not relying on GETs in a query string, this is possibly in response to [[Google]], whose search rewards sites that do not use query strings to construct entire pages.
h2. The History of Rails
Rails was developed and released in 1994 by [[David Heinemeier Hansson]], a developer at [[37Signals]]. 37Signals is a web application development and consulting firm, and David had used Rails to help in writing Basecamp, a commercial project management web service offered by the company.
Since its release, Rails has had various major releases, starting with the stable 1.0 release in December of 2005 and a major update in version 1.1 released in March of 2006. Over time, Rails has incorporated [[Ajax]] built in functionalities, and many of the subsequent applications 37Signals has built using Rails have showcased this, including the free web service "Backpack":http://backpackit.com.
h2. Server integration
Ruby on Rails can run on any [[httpd|web server]] that supports [[CGI]], or preferrably [[FastCGI]]. [[mod_ruby]]+[[Apache]] is another option, however it is discouraged as unlike mod_php, mod_ruby should not be used with multiple sites running on the same Apache server. This problem is often a source of criticism for the framework, as lacking a safe native module, Rails cannot run as quickly as it might.
Rails also supports a wide variety of [[database]] servers, ranging from an embedded [[SQLite]] library to [[Oracle]]. Most users of Rails choose [[MySQL]] or [[PostgreSQL]] as a backend database server, Rails' object relational mapping means that database access is abstracted and a developer can use whichever database they are comfortable with.
Model.
Czesc tu bartek
h2. What they have in common
Czesc tu bartek
h2. What they have in common
* Total separation of presentation logic using [[html]] templates helps in teamwork and modularization of application. This is one of the most important advantage of both [[Tapestry]] and [[Rails]] have over [[servlet|servlets]] and [[JSP|JSPs]].
* Components can be used in more than one page, which offers great deal of reusability of components and code.
h2. Ruby on Rails
*Pros*
* Rails helps application developers implement simple CRUD functionality very quickly and easily.
* Developing simple [[web]] applications in Rails does not require extensive knowledge of [[Ruby]] language.
* Ruby as a [[programming language]] is very human friendly. There are lot of similarities between code snippets and natural language. This helps in developing application at high speed.
* Rails requires far fewer lines of code and configuration to get application running. This aspect adds flexibility to the application; it can be configured for another environment or changed easily.
* From a management point of view, for development of small and simple web applications, Ruby is a good programming language. Ruby provides great help to developers in developing applications quickly, which means less development time and less cost.
*Cons*
* It is still somewhat difficult for someone who is new to programming to find resources to help get started with Ruby on Rails.
* To get application development started many different packages must be installed.
* [[RubyGems]] [[package manager]], which handles Rails installation, is problematic for some users.
* The Rails framework generates Ruby code behind the scenes which may not be desirable in terms of maintainability.
* Rails framework depends on name and structure of database tables to generate model and controller parts. This somewhat reduces maintainability and flexibility of the application.
h2. Tapestry
*Pros*
* Tapestry does not handle the model part of the web application. Because Tapestry is independent of type of model, any type of model can be used with Tapestry.
* Tapestry is based on [[J2EE|Java-J2EE]] framework. Today most enterprise web applications are developed using J2EE framework, so it is easy to migrate to Tapestry version of application from existing java applications.
* Tapestry does not rely on code generation like Rails. It depends on Object model, making it more maintainable.
* Clean" markup aproach where [[HTML]] elements are bound by the special attribute jwcid to the page specifications.
*Cons*
* Tapestry does not support [[database]] interactions and [[persistence]] implicitly. The developer has to choose an outside database/persistence method.
* Tapestry applications have been observed to perform more slowly than [[JSP]] versions of the same applications.
* Tapestry requires too many configuration files compared to Ruby on Rails.
* A developer should have sound knowledge of Java and J2EE to develop web application on-top of Tapestry framework.
* From management point of view, Tapestry is costlier then Ruby on Rails as it requires more development time.
----
Just concerning some of your points...
* You speed as a con for tapestry but a well written Tapestry application will still be a faster than a rails application.
* Secondly the amount of XML configuration required in Tapestry 4.0 is significantly reduced. It's still there but much of the time you can get by without using it.
* I also disagree with your point about not needing extensive knowledge of Ruby. It seems to suggest you can get by without learning Ruby properly which I don't think is true. People trying to do that are always going to struggle. I know with my own efforts I've grown much more efficient after learning the language better.
* I think another pro of Tapestry is that it's component model is more powerful. From what I've seen of rails so far the components aren't nearly as flexible as what you get with Tapestry. I think this might be why you don't see a lot of 3rd party components in rails yet.
CZEść TUBARTKU
h2. What they have in common
Czesc tu bartek
CZEść TUBARTKU
h2. What they have in common
* Total separation of presentation logic using [[html]] templates helps in teamwork and modularization of application. This is one of the most important advantage of both [[Tapestry]] and [[Rails]] have over [[servlet|servlets]] and [[JSP|JSPs]].
* Components can be used in more than one page, which offers great deal of reusability of components and code.
h2. Ruby on Rails
*Pros*
* Rails helps application developers implement simple CRUD functionality very quickly and easily.
* Developing simple [[web]] applications in Rails does not require extensive knowledge of [[Ruby]] language.
* Ruby as a [[programming language]] is very human friendly. There are lot of similarities between code snippets and natural language. This helps in developing application at high speed.
* Rails requires far fewer lines of code and configuration to get application running. This aspect adds flexibility to the application; it can be configured for another environment or changed easily.
* From a management point of view, for development of small and simple web applications, Ruby is a good programming language. Ruby provides great help to developers in developing applications quickly, which means less development time and less cost.
*Cons*
* It is still somewhat difficult for someone who is new to programming to find resources to help get started with Ruby on Rails.
* To get application development started many different packages must be installed.
* [[RubyGems]] [[package manager]], which handles Rails installation, is problematic for some users.
* The Rails framework generates Ruby code behind the scenes which may not be desirable in terms of maintainability.
* Rails framework depends on name and structure of database tables to generate model and controller parts. This somewhat reduces maintainability and flexibility of the application.
h2. Tapestry
*Pros*
* Tapestry does not handle the model part of the web application. Because Tapestry is independent of type of model, any type of model can be used with Tapestry.
* Tapestry is based on [[J2EE|Java-J2EE]] framework. Today most enterprise web applications are developed using J2EE framework, so it is easy to migrate to Tapestry version of application from existing java applications.
* Tapestry does not rely on code generation like Rails. It depends on Object model, making it more maintainable.
* Clean" markup aproach where [[HTML]] elements are bound by the special attribute jwcid to the page specifications.
*Cons*
* Tapestry does not support [[database]] interactions and [[persistence]] implicitly. The developer has to choose an outside database/persistence method.
* Tapestry applications have been observed to perform more slowly than [[JSP]] versions of the same applications.
* Tapestry requires too many configuration files compared to Ruby on Rails.
* A developer should have sound knowledge of Java and J2EE to develop web application on-top of Tapestry framework.
* From management point of view, Tapestry is costlier then Ruby on Rails as it requires more development time.
----
Just concerning some of your points...
* You speed as a con for tapestry but a well written Tapestry application will still be a faster than a rails application.
* Secondly the amount of XML configuration required in Tapestry 4.0 is significantly reduced. It's still there but much of the time you can get by without using it.
* I also disagree with your point about not needing extensive knowledge of Ruby. It seems to suggest you can get by without learning Ruby properly which I don't think is true. People trying to do that are always going to struggle. I know with my own efforts I've grown much more efficient after learning the language better.
* I think another pro of Tapestry is that it's component model is more powerful. From what I've seen of rails so far the components aren't nearly as flexible as what you get with Tapestry. I think this might be why you don't see a lot of 3rd party components in rails yet.
CZEść TUBARTKU
h2. What they have in common
» complete changeCzesc tu bartek
CZEść TUBARTKU
h2. What they have in common
* Total separation of presentation logic using [[html]] templates helps in teamwork and modularization of application. This is one of the most important advantage of both [[Tapestry]] and [[Rails]] have over [[servlet|servlets]] and [[JSP|JSPs]].
* Components can be used in more than one page, which offers great deal of reusability of components and code.
h2. Ruby on Rails
*Pros*
* Rails helps application developers implement simple CRUD functionality very quickly and easily.
* Developing simple [[web]] applications in Rails does not require extensive knowledge of [[Ruby]] language.
* Ruby as a [[programming language]] is very human friendly. There are lot of similarities between code snippets and natural language. This helps in developing application at high speed.
* Rails requires far fewer lines of code and configuration to get application running. This aspect adds flexibility to the application; it can be configured for another environment or changed easily.
* From a management point of view, for development of small and simple web applications, Ruby is a good programming language. Ruby provides great help to developers in developing applications quickly, which means less development time and less cost.
*Cons*
* It is still somewhat difficult for someone who is new to programming to find resources to help get started with Ruby on Rails.
* To get application development started many different packages must be installed.
* [[RubyGems]] [[package manager]], which handles Rails installation, is problematic for some users.
* The Rails framework generates Ruby code behind the scenes which may not be desirable in terms of maintainability.
* Rails framework depends on name and structure of database tables to generate model and controller parts. This somewhat reduces maintainability and flexibility of the application.
h2. Tapestry
*Pros*
* Tapestry does not handle the model part of the web application. Because Tapestry is independent of type of model, any type of model can be used with Tapestry.
* Tapestry is based on [[J2EE|Java-J2EE]] framework. Today most enterprise web applications are developed using J2EE framework, so it is easy to migrate to Tapestry version of application from existing java applications.
* Tapestry does not rely on code generation like Rails. It depends on Object model, making it more maintainable.
* Clean" markup aproach where [[HTML]] elements are bound by the special attribute jwcid to the page specifications.
*Cons*
* Tapestry does not support [[database]] interactions and [[persistence]] implicitly. The developer has to choose an outside database/persistence method.
* Tapestry applications have been observed to perform more slowly than [[JSP]] versions of the same applications.
* Tapestry requires too many configuration files compared to Ruby on Rails.
* A developer should have sound knowledge of Java and J2EE to develop web application on-top of Tapestry framework.
* From management point of view, Tapestry is costlier then Ruby on Rails as it requires more development time.
----
Just concerning some of your points...
* You speed as a con for tapestry but a well written Tapestry application will still be a faster than a rails application.
* Secondly the amount of XML configuration required in Tapestry 4.0 is significantly reduced. It's still there but much of the time you can get by without using it.
* I also disagree with your point about not needing extensive knowledge of Ruby. It seems to suggest you can get by without learning Ruby properly which I don't think is true. People trying to do that are always going to struggle. I know with my own efforts I've grown much more efficient after learning the language better.
* I think another pro of Tapestry is that it's component model is more powerful. From what I've seen of rails so far the components aren't nearly as flexible as what you get with Tapestry. I think this might be why you don't see a lot of 3rd party components in rails yet.
Czesc tu bartek
h2. What they have in common
» complete changeCzesc tu bartek
h2. What they have in common
* Total separation of presentation logic using [[html]] templates helps in teamwork and modularization of application. This is one of the most important advantage of both [[Tapestry]] and [[Rails]] have over [[servlet|servlets]] and [[JSP|JSPs]].
* Components can be used in more than one page, which offers great deal of reusability of components and code.
h2. Ruby on Rails
*Pros*
* Rails helps application developers implement simple CRUD functionality very quickly and easily.
* Developing simple [[web]] applications in Rails does not require extensive knowledge of [[Ruby]] language.
* Ruby as a [[programming language]] is very human friendly. There are lot of similarities between code snippets and natural language. This helps in developing application at high speed.
* Rails requires far fewer lines of code and configuration to get application running. This aspect adds flexibility to the application; it can be configured for another environment or changed easily.
* From a management point of view, for development of small and simple web applications, Ruby is a good programming language. Ruby provides great help to developers in developing applications quickly, which means less development time and less cost.
*Cons*
* It is still somewhat difficult for someone who is new to programming to find resources to help get started with Ruby on Rails.
* To get application development started many different packages must be installed.
* [[RubyGems]] [[package manager]], which handles Rails installation, is problematic for some users.
* The Rails framework generates Ruby code behind the scenes which may not be desirable in terms of maintainability.
* Rails framework depends on name and structure of database tables to generate model and controller parts. This somewhat reduces maintainability and flexibility of the application.
h2. Tapestry
*Pros*
* Tapestry does not handle the model part of the web application. Because Tapestry is independent of type of model, any type of model can be used with Tapestry.
* Tapestry is based on [[J2EE|Java-J2EE]] framework. Today most enterprise web applications are developed using J2EE framework, so it is easy to migrate to Tapestry version of application from existing java applications.
* Tapestry does not rely on code generation like Rails. It depends on Object model, making it more maintainable.
* Clean" markup aproach where [[HTML]] elements are bound by the special attribute jwcid to the page specifications.
*Cons*
* Tapestry does not support [[database]] interactions and [[persistence]] implicitly. The developer has to choose an outside database/persistence method.
* Tapestry applications have been observed to perform more slowly than [[JSP]] versions of the same applications.
* Tapestry requires too many configuration files compared to Ruby on Rails.
* A developer should have sound knowledge of Java and J2EE to develop web application on-top of Tapestry framework.
* From management point of view, Tapestry is costlier then Ruby on Rails as it requires more development time.
----
Just concerning some of your points...
* You speed as a con for tapestry but a well written Tapestry application will still be a faster than a rails application.
* Secondly the amount of XML configuration required in Tapestry 4.0 is significantly reduced. It's still there but much of the time you can get by without using it.
* I also disagree with your point about not needing extensive knowledge of Ruby. It seems to suggest you can get by without learning Ruby properly which I don't think is true. People trying to do that are always going to struggle. I know with my own efforts I've grown much more efficient after learning the language better.
* I think another pro of Tapestry is that it's component model is more powerful. From what I've seen of rails so far the components aren't nearly as flexible as what you get with Tapestry. I think this might be why you don't see a lot of 3rd party components in rails yet.
