Generated by DeepSeek V3.2| Ruby on Rails | |
|---|---|
| Name | Ruby on Rails |
| Developer | David Heinemeier Hansson |
| Released | 13 December 2004 |
| Programming language | Ruby |
| Operating system | Cross-platform |
| Genre | Web application framework |
| License | MIT License |
Ruby on Rails. Often simply called Rails, it is an open-source server-side web application framework written in the Ruby language under the MIT License. It follows the Model–view–controller architectural pattern and emphasizes convention over configuration and the Don't repeat yourself principle to facilitate rapid development. The framework was extracted by David Heinemeier Hansson from his work on the project management tool Basecamp at the web design firm 37signals.
The framework was first released as open source in July 2004 but did not share commit rights until February 2005. Its creator, David Heinemeier Hansson, extracted the codebase from his work on the project management application for 37signals, which later became the product Basecamp. A significant milestone occurred in 2007 when Apple Inc. announced it would ship Ruby on Rails with Mac OS X Leopard, greatly boosting its mainstream visibility. Major version releases have included Rails 3 in 2010, which merged with the Merb framework, and Rails 5 in 2016, which introduced Action Cable for real-time features. The framework's development has been supported by numerous companies, including early adopters like Twitter and GitHub.
Rails is designed around the Model–view–controller pattern, which separates an application's data models, user interface, and control logic. It strongly advocates for convention over configuration, providing sensible defaults that reduce the need for boilerplate code. The framework also embodies the Don't repeat yourself principle to minimize code duplication. Its architecture is organized into several integrated components, primarily Active Record, which implements the Object–relational mapping pattern, and Action Pack, which handles the controller and view layers. This design philosophy enables developers at companies like Shopify and Airbnb to build complex applications efficiently.
The framework is composed of several key libraries, or gems, that are bundled together. Active Record serves as the Object–relational mapping layer, providing an interface between database tables and application models. Action Pack processes incoming requests through its Action Controller module and renders views via Action View. Other core components include Active Job for background job processing, Action Mailer for email services, and Action Cable for WebSocket connections. It integrates with various SQL and NoSQL databases and relies on the Rack middleware interface. The asset pipeline, managed by Sprockets, facilitates the management of JavaScript and Cascading Style Sheets assets.
Development is managed via the Git version control system on the platform GitHub, where contributions are discussed through pull requests and issues. The core team, which has included notable members like Yehuda Katz and José Valim, guides the framework's direction. A large ecosystem of third-party libraries, known as gems, is available through RubyGems, extending functionality for tasks like authentication with Devise (Ruby) or testing with RSpec. Major annual conferences, such as RailsConf in the United States and RubyKaigi in Japan, foster community interaction. Companies like GitHub, Shopify, and Zendesk are prominent users and contributors to the codebase.
The framework received widespread acclaim following its release, winning the Google's Open Source Award for Best Hacker's Tool in 2005 and being named Computerworld's Best Web Development Framework in 2006. It is credited with popularizing agile web development practices and inspiring the creation of similar frameworks in other languages, such as Django (web framework) for Python and Laravel for PHP. High-profile deployments at companies like Twitter, Airbnb, and Hulu demonstrated its capability to scale. While facing competition from newer JavaScript frameworks like Node.js and React (JavaScript library), it remains a foundational technology for countless startups and established firms, significantly shaping modern Web development practices.
Category:Web frameworks Category:Ruby (programming language) software Category:Free web software Category:2004 software