Czym jest Ruby On Rails

nowoczesne środowiska do budowy aplikacji www

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żą:

  • Twitter - twitter.com
  • Basecamp
  • Shopify
  • Github
  • Lighthouse
  • Blip