Rubin na szynach

Jeśli programista nie użył specyficznych konstrukcji SQL, typowych dla konkretnej bazy, kod powinien współpracować tak samo ze wszystkimi wspieranymi bazami, dzięki czemu platforma zachowuje przenośność. Rails posiada wbudowany mechanizm migracji, służący do operacji na schemacie tabel w bazie przy pomocy Ruby, bez użycia kodu SQL specyficznego dla motoru bazodanowego.

Do uruchomienia aplikacji w środowisku Rails wymagane jest odpowiednie środowisko serwera, który przypisuje nadchodzące żądania odpowiednim kontrolerom i na podstawie ich działania zwraca do klienta odpowiedź. Oprócz standardowego serwera, opartego na bibliotece WEBrick, można wykorzystać Mongrel. Serwer Rails może działać samodzielnie lub być połączony z innym serwerem HTTP, na przykład Apache. Aplikacje przygotowane w środowisku RoR bardzo często są przyjazne dla cache, dzięki wykorzystywaniu modułów, ponadto przy dużym obciążeniu z powodzeniem mogą pracować w środowisku wielu serwerów.

RoR a Java i Eclipse

Framework Rails wraz z językiem Ruby dają dużą elastyczność reużywania kodu. Co prawda wykorzystane ponownie fragmenty muszą być raczej niewielkie. Ruby pozostaje po stronie technologii sprawnych, zwinnych, dostosowujących się do zmian w wymaganiach. Bardzo dobrze nadaje się do dynamicznie tworzonych aplikacji webowych, ze szczególnym naciskiem na obsługę technologii Web 2.0.

Java i platforma Eclipse są używane do tworzenia większych projektów, bardziej stabilnych w sensie rozwoju. Pewną konsekwencją takich aplikacji jest wymaganie, by aplikacja i platforma były bardzo starannie zaprojektowane. Należy zawczasu przewidzieć wszystkie istotne kierunki rozwoju aplikacji, co z kolei jest trudne w realizacji. W modelu klasycznym, gdy etap implementacji zostanie poprzedzony starannym projektowaniem aplikacji, Java sprawdzi się o wiele lepiej.

Szybko i sprawnie

Założenia RoR to szybkość i łatwość pisania kodu, unikanie wykonywania tej samej pracy w różnych miejscach, wykorzystywanie gotowych wzorców tam, gdzie to jest tylko możliwe oraz używanie wtyczek, które rozszerzą aplikacje o gotowe funkcjonalności (logowanie, umieszczanie obiektów graficznych czy tagowanie). RoR wspiera Javascript (w postaci zintegrowanej biblioteki Prototype) oraz AJAX, ponadto użycie generatorów i pluginów sprawia, że przygotowanie zaawansowanego interfejsu użytkownika jest o wiele prostsze niż w przypadku PHP czy Javy. Pod względem funkcjonalności RoR odpowiada Hibernate z Javy (ActiveRecord w RoR), Smarty (ActionView), GoogleWebToolkit (generowany JavaScript) i Junit (Ruint).


TOP 200