Rails: Šta je to?
Znate onaj: Postoji 10 vrsta programera. Oni koji koriste Rails, i oni koji još nisu čuli za Rails.
Vic je možda izlizan, ali je u ovom slučaju surovo istinit. Teško da se neko sreo sa Rails-om, a da nije bio oduševljen njime.
Ruby on Rails
Pa šta je zaista Rails. Tehnički govoreći Rails nije programski jezik. Ruby je jezik, dok je Rails framework izrađen i napisan u Ruby-u. Otuda i ono „Ruby on Rails“. Međutim, mirne savesti bih mogao da kažem daje Rails jezik. Stoga, ne bih voleo da mi neko zameri, ako to i učinim.ppOno što Rails razlikuje od bilo čega drugog, je što je nastao u realnim uslovima, i iz stvarne potrebe. Naime, Rails je izdvojen iz prave aplikacije(Base Camp) koja zaista i postoji i koja svakoga dana opsluži hiljade korisnika. Otuda verovatno nema prirodnijeg alata za razvoj Web aplikacije. Sve što je ušlo u Rails, nekada i negde je korišćeno u realnim uslovima.
Intrerpreter, ne kompajler
Rekao sam da je jezik u predmetu ove priče Ruby. Ruby je interpreter. Drugim rečima, oprostite se od performansi. Ruby je i funkcionalni jezik. Funkcionalni zato što ima funkcije prvog reda. Sve što možete sa bilo kojom drugom promenljivom, možete i sa funkcijom. Telo funkcije možete da dodelite nekoj promenljivoj, možete kasnije tako napravljenu funkciju da pozovete ili pak da je prosledite drugoj funkciji. Ruby je i dinamički jezik. Delove programskog koda možete da menjate u toku izvršavanja. Čik probajte to u C-u. Zahvaljujući svim ovim osobinama Rubyja, Rails je izuzetno elegantan i prirodan jezik.
MVC Framework
Na vrh svega ovoga što nudi Ruby, Rails dodaje još dosta toga. Tako Rails formira čitav WEB framework. I to ne bilo kakav, već MVC framework. Po uzoru na MVC obrazac, Rails jasno prepoznaje i razlikuje koncepte kao što su kontroler, akcija, model, prikaz itd. Sve to ima za rezultat, jasno odvojena pravila poslovne logike, akcija i rezultata koji se prikazuju. Međutim to što je Rails MVC framework ne znači ništa. I Tapestry je MVC framework, pa su aplikacije pisane pomoću njega nešto najružnije i najsloženije što sam ikada video. Prava moć leži u dva koncepta koja se razvojni tim Railsa striktno pridržava. To su: DRY i convention over configuration.
Prvi princip, ili Don’t Repeat Yourself, obezbeđuje minimalno ponavljanje koda. Aplikacija je tako strukturirana da primorava programera da piše čist kod i eliminiše ponavljanje. Drugi princip, konfiguraciju, kako samog frameworka, tako i aplikacije, svodi na nužni minimum. To znači da je konfiguracija predefinisana i da podleže strogo određenim pravilima. U praksi, retko ćete imati potrebu da bilo šta u Railsu podešavate. Ako se pridržavate svih principa koje Rails određuje, dobićete gotove, funkcionalne, aplikacije uz minimum truda i koda.
Rekao sam da Rails prepoznaje koncept kao što je model. Međutim Rails čini i mnogo više od toga. Rails je čitav Object-Relational Mapper. Ovo programera oslobađa potrebe da radi direktno sa bazom podataka, u bilo kom smislu. Svi objekti u domenu aplikacije definišu se u samom jeziku, dok teret lepljenja na bazu, pada na Rails.
Klasika ili trend
Rails svakako nije zaobišao ni agile trend. Sve što je potrebno za unit testing je prisutno. Šta više poželjno je da testom pokrijete svaki aspekt aplikacije. Tu je agile, ali tu je i AJAX. Pisanje, kako vole da kažu, WEB 2.0 aplikacija je potpuno prirodno u Rails okruženju.
Ovo je samo delić priče o Rails-u. Nadam se da će ovo biti samo prvi tekst u Rails serijalu…
© 2007 Dušan Pantelić. Sva prava zadržana.
From Russia with love, nginx! | FreeCSSTemplates.org




