encyklopedia.space

Ruby on Rails

Ruby on Rails, potocznie nazywany Rails, jest otwarto‑źródłowym frameworkiem do tworzenia aplikacji internetowych, opartym na języku programowania Ruby. Projekt opiera się na wzorcu architektonicznym Model‑View‑Controller (MVC) oraz koncepcjach DRY („Don’t Repeat Yourself”) i Convention over Configuration. Framework został wydany po raz pierwszy w 2004 roku i od tego czasu stał się jednym z najpopularniejszych narzędzi w dziedzinie tworzenia aplikacji webowych.

Historia

Pomysł na Ruby on Rails powstał w firmie Basecamp (dawniej 37signals) podczas pracy nad wewnętrznym systemem zarządzania projektami. Głównymi twórcami frameworka są David Heinemeier Hansson oraz Jason Fried. Pierwsza publiczna wersja, Rails 1.0, została wydana w 2005 roku. Od tego czasu powstały kolejne wersje, z których najważniejsze to Rails 2, Rails 3, Rails 4, Rails 5, Rails 6 oraz najnowsza Rails 7.

Kluczowe cechy

  • Konwencja ponad konfigurację – wiele decyzji projektowych jest domyślnie określonych, co przyspiesza rozwój.
  • DRY – kod nie jest duplikowany, co ułatwia jego utrzymanie.
  • Automatyczne mapowanie obiektowo‑relacyjne (ORM)ActiveRecord umożliwia pracę z bazą danych bez pisania SQL.
  • Routing – deklaratywny system tras, który mapuje żądania HTTP na kontrolery.
  • System migracji bazy danych – umożliwia wersjonowanie schematu bazy przy pomocy rails db:migrate.
  • Testowanie – wbudowane wsparcie dla RSpec i Minitest.
  • Asset Pipeline – zarządzanie i kompresja zasobów statycznych (CSS, JavaScript, obrazy).

Architektura MVC

Rails dzieli aplikację na trzy podstawowe warstwy:

Warstwa Opis Typowe elementy
Model Logika związana z danymi i ich przechowywaniem. app/models, klasy dziedziczące po ActiveRecord::Base
View Prezentacja danych końcowemu użytkownikowi. app/views, szablony .erb, .haml
Controller Obsługa żądań HTTP i koordynacja Model‑View. app/controllers, klasy dziedziczące po ApplicationController

Składniki ekosystemu

Rails korzysta z licznych bibliotek i narzędzi, które tworzą bogaty ekosystem:

  • ActiveSupport – zestaw rozszerzeń języka Ruby.
  • ActionPack – warstwa odpowiedzialna za kontrolery i widoki.
  • ActionMailer – obsługa poczty elektronicznej.
  • ActiveJob – interfejs do kolejek zadań (background jobs).
  • ActionCable – wsparcie dla WebSocketów i komunikacji w czasie rzeczywistym.

Rozwój i społeczność

Rails jest rozwijany pod auspicjami społeczności Ruby i jest utrzymywany przez fundację Rails Core Team. Co roku organizowane są konferencje RailsConf oraz RubyConf, a liczne meetupy na całym świecie sprzyjają wymianie wiedzy.

Przykładowa aplikacja „Hello World”

# w terminalu
gem install rails
rails new hello_world
cd hello_world
rails server

Po uruchomieniu serwera aplikacja jest dostępna pod adresem http://localhost:3000. W przeglądarce zobaczymy domyślną stronę powitalną Rails.

Powiązane pojęcia

Źródła

Informacje w niniejszym artykule pochodzą z oficjalnej dokumentacji Rails, blogów twórców frameworka oraz publikacji technicznych dostępnych w języku polskim i angielskim.