Framework Ruby on Rails

Ruby on Rails (w skrócie RoR lub Rails) jest nowoczesnym frameworkiem do tworzenia aplikacji webowych storzonym w języku Ruby. Stworzył go w 2004 roku David Heinemeier-Hanson.

Filozofia Rails opiera się o dwie reguły: DRY - don't repeat yourself oraz CoC - convention over configuration. DRY nakazuje, aby wszelkie dane i informacje umieszczać w jednym miejscu. CoC oznacza zastosowanie sprawdzonych i zalecanych domyślnych ustawień dzięki czemu niezbędna konfiguracja ograniczona jest do minimum, co pozwala na szybszą i bardziej wydajną pracę.

Architektura aplikacji pisanych w Ruby On Rails oparta jest o wzorzec Model-View-Controller (MVC). Model odpowiada za operacje na danych, które pobiera od niego kontroler i przekazuje do widoku. W widoku dane są formatowane i wyświetlane końcowemu użytkownikowi aplikacji.

Na Ruby on Rails składają się 3 podstawowe pakiety:

  • ActiveRecord - system dostarczający mapowania relacyjno-obiektowe wykorzystywane w modelu
  • ActionController - system odpowiedzialny za obsługę przychodzących żądań, wykonuje zadaną akcje i renderuje widok lub przekierowywuje do innej akcji.
  • ActionView - mechanizm widoków, pozwala na mieszanie kodu Ruby ze znacznikami HTML.
ActionController i ActionView są wspólnie określane jako ActionPack.

Dodatkowo udostępniano pakiety umożliwiające łatwe wykonywanie najczęstszych zadań:

  • ActionMailer - umożliwia elastyczne tworzenie oraz rozsyłanie e-maili.
  • ActiveResource - umożliwia mapowanie zasobów REST jako modeli
  • ActiveSupport - dostarcza najczęściej używanych mechanizmów, jak callbacki lub metody formatujące dane

Ruby on Rails wspiera pokaźną ilość baz danych:

  • PostgreSQL
  • MySQL
  • Oracle
  • Microsoft SQL Server
  • Sqlite
  • IBM DB2
  • OpenBase
  • Sybase
  • Firebird

Szczególny nacisk kładziony jest na bezpieczeństwo. Między innymi automatycznie zabezpieczane są zapytania SQL oraz wbudowana jest ochrona przed atakami typu CSRF.

W Ruby on Rails intesywnie wykorzystywane są pluginy. Niezwykłe możliwości języka Ruby pozwalają rozszerzać framework niemal w dowolny sposób. Stale rosnąca społeczność Rails dostarcza pluginy dostarczające nawet najbardziej niszowe funkcjonalności.

Framework jest dostępny na licencji MIT. Każdy ma dostęp do kodu i może go dowolnie modyfikować. RoR udostępniany jest bez opłat.

Do uruchomienia aplikacji napisanej w Rails potrzebny jest serwer WWW. Najczęściej używane są mongrel, thin, lighthttpd, apache i nginx.

Do najpopularniejszy aplikacji webowych stworzonych w rails należą: