Rails ger dig arbetsglädjen tillbaka

Ruby on Rails är just nu den starkast lysande stjärnan på webbplattformarnas himmel. Den utlovar inget mindre än att ge webbutvecklare arbetsglädjen tillbaka. Som utvecklargurun och legenden Martin Fowler säger - vi behöver inte längre göra det falska valet mellan "quick and dirty" (PHP) och "well designed and expensive" (Java, .NET). Ruby on Rails erbjuder en gyllene medelväg som är "quick and clean"

Ruby on... vadå?
År 2004 utvecklade David Heinemeier Hansson webbplatsen Basecamp tillsammans med Jason Fried på webbyrån 37Signals. Basecamp är ett webbaserat samarbetsverktyg för små utspridda team i en enkel och snygg Web 2.0-tappning. Basecamp har rönt stor uppmärksamhet och varit trendsättande i branschen.
När David utvecklade Basecamp valde han att använda Ruby, ett tämligen okänt objektorienterat språk från Japan. David hade en bakgrund inom PHP och Java men var frustrerad över begränsningarna i dessa tekniker. PHP var lätt att lära sig och gav snabba resultat men systemen blev ofta snåriga och svåra att underhålla med tiden. I Java fanns det många goda idéer om design men applikationerna var onödigt komplicerade och det var svårt att få saker och ting gjorda på ett snabbt och enkelt sätt.
Efter att på kort tid färdigställt Basecamp i Ruby insåg David att mycket av det han utvecklat var lösningar på generella problem. Han valde därför att släppa Ruby on Rails till världen som ett Open Source-projekt.
Sedan 2004 har Ruby on Rails (även kallat "Rails") utvecklats explosionsartat. År 2005 fick David Googles och O'Reillys "Open Source Award" som "Best Hacker". Rails har även fått ett "Jolt Award of Product Excellence" som bästa Web Development Tool av ansedda branschorganet Dr. Dobb's Journal. Det har skrivits massvis om Ruby on Rails i IT-relaterade bloggar världen över, Rails mailinglistor flödar över, ett 20-tal böcker är på väg till tryckpressarna och överallt poppar det upp Web 2.0-siter och -företag upp som väljer att använda Rails. Rails har dessutom hjälpt interpreterade språk som Ruby och Python att komma in i rampljuset och vinna större acceptans hos stora företag.

Många framgångsfaktorer bakom succén
Man kan fråga sig var som är nyckeln till framgången. En viktig del av svaret är själva programmeringsspråket. Ruby är ett språk som är produktivt som Perl, fast med en ren och läsbar syntax. Det är mer objektorienterat än Java och .NET och dess applikationer har typiskt sett bara en bråkdel så mycket kod, utvecklade på en bråkdel av tiden.
En annan förklaring till Rails framgångar är "Convention Over Configuration". Rails har en strikt MVC-arkitektur (Model, View, Controller) och varje fil har en bestämd plats och ett bestämt namn. Namnen i URL:en mappar direkt mot namnet på din controller, din view, din model, och din databastabell. Det behövs inga konfigurationsfiler. Ruby on Rails frigör dig från att fatta en massa detaljbeslut om infrastruktur. Dessa beslut är redan fattade och de följer best practice inom industrin. Detta frigör tid och tankekraft som du kan ägna åt viktigare saker, som till exempel din uppdragsgivares behov.
En tredje förklaring är att Rails är extraherat ur en konkret webbapplikation och inte är en teoretisk konstruktion. Ramverket är optimerat för en begränsad klass av problem och blir därmed inte för generellt. Rails försöker sig inte på återanvändning på applikationsnivå vilket annars är vanligt bland webbplattformar (som till exempel Zope och Drupal). Rails innehåller alltså inte generellt skrivna diskussionsforum, webloggar och wikis som du kan installera med ett klick, men sen tvingas anpassa. Tanken är, att det ofta är bättre att skriva den typen av applikationer skräddarsydda för dina kunders behov, vilket tack vare Ruby on Rails inte längre är så tidsödande och besvärligt som det traditionellt har varit.

Nya böcker och aktiv community
Under hösten har det kommit en uppsjö av böcker om Ruby on Rails. Den officiella Rails-boken är skriven av ingen mindre än Dave Thomas - förgrundsfiguren hos de högt ansedda The Pragmatic Programmers. Dave Thomas har även dokumenterat programmeringsspråket Ruby och hjälpt till att popularisera det utanför Japan. Ruby on Rails-communityt sjuder av framtidstro och innovationskraft. Det är fullt av kompetenta och vänliga utvecklare som i sina bloggar delar med sig av både kunskaper och kod. Det svenska Rails-communityt (rails.se) är aktivt med en mailinglista där det bland annat utannonseras Rails-träffar i Stockholm och runt om i landet.

Vem använder Ruby on Rails?
I USA pågår uppskattningsvis ett tusental olika Rails-projekt, varav många är olika webb 2.0-tjänster. Vad gäller Rails skalbarhet brukar man ofta peka på Basecamp och 43things.com som båda har mycket trafik och klarar det bra. ThoughtWorks är ett känt amerikanskt konsultbolag som jobbar med att introducera Rails bland storföretagen. På Rails.se finns en lista med svenska Railsprojekt. Där återfinns bland annat projekt på Karolinska Institutet och Valtech. Det finns en allt större pool av kompetenta Rails-utvecklare i Sverige. Duktiga Java- och .NET-utvecklare kan vanligtvis bli produktiva med Rails på några veckor.

Ruby i Java
Sun Microsystems har nyligen visat intresse för Ruby i och med anställningen av två JR uby-utvecklare. JR uby är en implementation av språket Ruby i ren Java som gör det möjligt att köra Rails i en JVM med tillgång till samtliga Java API:er (Enterprise Java Beans m.m.). JR uby kan komma att bli av stort intresse för företag som har Java som standard eller har integrationsbehov med befintliga Java-system. The Pragmatic Programmers har nyligen lanserat en bok med titeln "Ruby on Rails for Java Developers" som kan hjälpa företag att fortbilda sina utvecklare.

Testning är regel
Rails har sänkt tröskeln för att skriva automatiserade tester. Undertecknad har utvecklat många webbapplikationer i Java och Tcl och visst har det förekommit testning, men den har varit sporadisk och fläckvis. Det var först i och med Rails som jag fick vara med och utveckla en webbapplikation med heltäckande testning, både på API- och systemnivå. I Rails-världen är testning en del av kulturen. Det är regel snarare än undantag. Om man inte testar, går man mot strömmen.

Ett varningens ord
Rails leder till kortare utvecklingstider, system som är lättare att underhålla och förstå, och framförallt mer vältestade. Det finns one-click installers för Rails i form av InstantRails för Windows och Locomotive för Mac OSX. Ett varningens ord är på plats här - när du väl smakat på Rails är risken stor att du blir biten och inte kan återvända till den teknologi du kom ifrån...

Peter Marklund, Ruby on Rails-konsult

Mer om Ruby on Rails:
www.rubyonrails.com
instant rails.rubyforge.org
locomotive.raau m.org
www.basecamphq.com
www.rails.se
gettingreal.37signals.com


 
Gold Partner
Novell Partner

Senaste besökta utbildningar