Efter att ha funderat och velat i kanske två år nu, tog jag mig samma för ett par veckor sedan och började titta på Ruby on Rails.

Anledningen till att jag började titta på det var att jag inte riktigt är nöjd med mina övriga verktyg för webutveckling.  De flesta tar för mycket tid att komma igång och jag återupprepar alldeles för många moment från projekt till projekt. Efter att ha läst väldigt många lovordande artiklar om rails samt ha gjort en snabb undersökning för något år sedan beslöt jag mig för att göra en test applikation som kommer driftsättas inom ett tag. 

Railscode

 

Första steget att sätta upp miljön var löjligt enkel, till stor del beror det på att Apple varit snälla nog att inkludera Rails 1.2 i Mac OS X 10.5. Likaså har Apple lagt ut en del bra och grundläggande guider på sin utvecklar site för hur man kommer igång med Rails.

När jag fuskat igenom ett par guider och pillat lite på ruby kastade jag mig över att utveckla min web applikation. De första timmarna gick med blandad framgång vissa saker man får direkt ur "lådan" är helt klart imponerande, likaså är ramverket för databaskopplingen (ActiveRecords) mycket imponerande. Resultatet av mina första omgångar resulterade i att det grova skalet var på plats med databaslagring, verifigering av de viktigaste fälten samt fälten i formulären var klara.

Vid det här laget hade jag lagt ner 3-4 timmar på projektet och var mycket nöjd. Jag hade iof än så länge bara arbetet med standard funktioner och inte gjort något avancerat än. 

En vecka senare, några timmar här och några timmar där började applikationen bli funktionellt klar för målet med första versionen. Några detaljer var kvar och en del design arbete återstod.

En vecka efter det var jag klar för en mjuk test i faktiskt miljö. Lite strul med att flytta rails lösningen från MacOS X till den Linux server som skulle hosta det. Här tog det lite tid av olika anledningar men det löste sig tillslut, bland annat var det lite oväntade sökvägar att lösa.

Min summering av experimentet är att Ruby on Rails ligger direkt i Mac OS X inget extra behövs för att komma igång. Versionen i leopard jobbar direkt mot en intern SQLite databas så ingen extra databasserver behöver man installera allt finns med som standard. Att bygga prototyper mindre lösningar går fort och enkelt. Var länge sedan det var så kul att dra igång ett projekt och faktiskt driva igenom det.

Är Ruby on Rails felfritt? Långt ifrån, finns vissa delar av ActiveRecords som jag verkligen stör mig på. Jag har idag inte hittat något sätt att göra summeringar utan att använda SQL uttryck vilket blir lite bakvänt i hela objektorienteringen. Mallhanteringen är bra men lite yxig ibland och känns som det finns en del att bygga ut här. Saknar bra komponent hantering för fragment som ska återanvändas på många ställen. Kan lika gärna vara jag som inte tänker rätt än heller.

Det är inte sista försökte med Rails, det är en en lösning på alla problem eller ett verktyg som passar alla problem. Däremot är det ett verktyg jag gärna kommer använda i fortsättningen. Det kommer inte ersätta Java på ett tag till. Däremot ser jag det som ett bra komplement till PHP.