Programmering

RadRails IDE fremskynder utviklingen av webappene

Et rammeverk for å utvikle webapplikasjoner, Ruby on Rails bruker det objektorienterte Ruby-språket og et modell-view-controller-mønster, som holder de forskjellige funksjonene i applikasjonen separate, samtidig som de lar dem jobbe sammen som en integrert helhet. Mange utviklere synes dette er en mer behagelig måte å bygge webapplikasjoner på enn PHP, som klumper all funksjonaliteten sammen i en enkelt fil. En ekstra attraksjon for Rails er den integrerte AJAX-støtten.

RadRails, et gratis open source-prosjekt, er en IDE for Ruby on Rails-rammeverket. Prosjektets mål er "å gi Rails-utviklere alt de trenger for å utvikle, administrere, teste og distribuere applikasjonene sine", ifølge RadRails-nettstedet.

Utgitt sent i juli 2006, går RadRails 0.7 langt med å nå disse prosjektmålene. Rails-applikasjoner inkluderer en mengde mapper og filer: et nygenerert, tomt Rails-prosjekt har 12 underkataloger. Kontrollere skrevet i Ruby-par med visninger skrevet i RHTML (HTML med innebygd Ruby-serverkode). Og en enkelt tastekombinasjon i RadRails gjør å bla fra kontrolleren for å se og tilbake nesten uanstrengt.

Konvensjonell skinne-koding tvinger utvikleren til å bytte fra redaktøren til en konsoll til en nettleser, og fra å redigere en fil til å redigere en annen fil. RadRails flytter effektivt det meste av denne aktiviteten til en praktisk IDE med faner.

Selvfølgelig er RadRails neppe den eneste måten å utvikle Rails-apper på. Noe av konkurransen er kommersiell: TextMate på Mac OS X er en redaktør som støtter 50 programmeringsspråk og leveres med Ruby on Rails-utheving og makroer; det er populært blant Mac Rails-utviklere.

En annen kommersiell konkurrent, Komodo, er en IDE for dynamiske språk som kjører på Linux, Mac OS X, Solaris og Windows. Komodo er en av få IDEer som kan feilsøke en Ruby on Rails-applikasjon, men jeg har funnet at feilsøkingen er så treg at jeg sjelden bruker den. SlickEdit er en dyktig og responsiv flerspråklig kodesedigerer med flere plattformer som inkluderer god Ruby-støtte.

RadRails har også sin andel av gratis konkurranse. Ruby leveres med SciTE, en gratis redaktør som støtter mange programmeringsspråk, og FreeRIDE, en gratis plattformsfri Ruby IDE skrevet i Ruby. FreeRIDE vil etter hvert ha refactoring-funksjonalitet. Og selvfølgelig har omtrent alle utviklingsplattformer gratis versjoner av vi og emacs.

Komme på sporet

RadRails er en Eclipse RCP-plugin. Den frittstående versjonen, som inkluderer delene den trenger av Eclipse, er en 45 MB nedlasting. Eclipse 3.2 SDK er en 120 MB nedlasting, så det er bedre å laste ned den frittstående RadRails med mindre du trenger de andre perspektivene i Eclipse SDK. Jeg testet den frittstående Windows-versjonen av RadRails 0.7 på Windows XP SP2 med Java 1.5, Ruby 1.8.4 og Rails 1.1.4.

Hovedformålet med RadRails er å integrere Rails-utvikling, og på det lykkes det. Innen RadRails i Rails-perspektivet kan man generere en ny Rails-applikasjon og webserver; konfigurere databasene; generere kontrollere og modeller; redigere modeller, kontrollere og visninger; og bla gjennom applikasjonssiden.

Rails Navigator og innpakningene til de mange Rails-generatorene og Rake-anleggene hjelper til med å administrere prosjektet effektivt. (Rake er et Ruby-basert make-lignende verktøy.) RadRails-redaktørene kan gjøre syntaksmarkering og noe primitiv kodegenerering; for mer omfattende kodegenerering, vil du kjøre Rails-generatorer.

I dataperspektivet kan man se prosjektdatabasene og utføre SQL-spørringer. RadRails mangler en SQL-spørgebygger; Du kan enten skrive dine egne SQL-skript eller bruke et annet verktøy for spørrebyggere.

Overvåking av Rails-loggfilene er den anbefalte måten å feilsøke Rails-applikasjoner på. RadRails kan kjøre halenverktøyet på spesifiserte loggfiler og dirigere utdataene i konsollvinduer som den administrerer. RadRails kan imidlertid ikke angi bruddpunkter i Ruby-kode for feilsøking.

Ruby on Rails støtter testing av enheter, funksjoner og integrasjon, alt automatisert ved bruk av Rake-skript. RadRails kan bruke disse testene direkte eller kjøre dem fra sitt eget testgrensesnitt, som konstruerer et fint resultattrær. RadRails 0.7 introduserer et nytt AutoTest-anlegg, som automatisk kan kjøre testene tilknyttet en fil hver gang den lagres. Mitt eneste problem med RadRails testanlegg er at det føles sakte å starte på min 3,2 GHz Pentium 4-arbeidsstasjon med 1 GB RAM, kanskje fordi den bruker den eksterne testløperen Ruby i stedet for Rake-testselen.

En av mantraene for test-første utvikling er "rød, grønn, refaktor." RadRails støtter de røde trinnene (skriv en test som mislykkes) og den grønne (skriv kode for å få testen til å bestå), men tvinger utvikleren til å omformere manuelt. Heldigvis hjelper strukturen til Rails-applikasjoner vanligvis med å holde koden godt fakturert.

RadRails, i likhet med Komodo og SlickEdit, har en egen test-seng med vanlig uttrykk. I motsetning til Komodo og SlickEdit, kan den ikke ordbryte skjermen. For eksempel måtte jeg bla langt til høyre for å lese slutten av den andre kommentaren (som fremhevet på bildet til venstre) og be programmereren til denne kontrolleren, en TextMate-bruker, om å unngå lange kommentarer i fremtiden.

RadRails integreres med CVS og Subversion versjonskontrollsystemer. Den integreres ikke med Perforce, eller med versjonskontrollsystemer som bruker Windows SCC-grensesnittkonvensjonen.

Rom for vekst

Den mest påfallende svakheten til RadRails 0.7 er den sparsomme dokumentasjonen, som er planlagt ferdigstilt for 1.0-utgivelsen. To korte demovideoer som finnes på RadRails 'side, kan hjelpe utviklere med å komme i gang, men du er stort sett alene om det. Jeg vil også gjerne se at RadRails forbedrer seg, i rekkefølge etter vanskelighetsgrad, ordinnpakning, automatisk kodeformatering, integrering av kildekodekontroll, feilsøking og refactoring.

Samlet sett er RadRails 0.7 godt på sin valgte vei "for å gi Rails-utviklere alt de trenger for å utvikle, administrere, teste og distribuere applikasjonene sine." Siden det er gratis for nedlasting, bør alle seriøse Rails-utviklere vurdere det for deres verktøysett.

Poengkort Opptreden (10.0%) Brukervennlighet (20.0%) Integrering (20.0%) Funksjoner (40.0%) Verdi (10.0%) Total poengsum (100%)
RadRails 0.77.07.09.08.010.0 8.1
$config[zx-auto] not found$config[zx-overlay] not found