RadRails IDE beschleunigt die Entwicklung von Web-Apps

Ruby on Rails ist ein Framework für die Entwicklung von Webanwendungen und verwendet die objektorientierte Ruby-Sprache und ein Modellansichts-Controller-Muster, mit dem die verschiedenen Funktionsbereiche in der Anwendung getrennt bleiben und gleichzeitig als integriertes Ganzes zusammenarbeiten können. Viele Entwickler finden dies eine kongenialere Methode zum Erstellen von Webanwendungen als PHP, bei dem alle Funktionen in einer einzigen Datei zusammengefasst sind. Eine zusätzliche Attraktion von Rails ist die integrierte AJAX-Unterstützung.

RadRails, ein kostenloses Open Source-Projekt, ist eine IDE für das Ruby on Rails-Framework. Ziel des Projekts ist es, „Rails-Entwicklern alles zu bieten, was sie zum Entwickeln, Verwalten, Testen und Bereitstellen ihrer Anwendungen benötigen“, so die RadRails-Website.

RadRails 0.7 wurde Ende Juli 2006 veröffentlicht und trägt wesentlich dazu bei, diese Projektziele zu erreichen. Rails-Anwendungen enthalten eine Vielzahl von Ordnern und Dateien: Ein frisch generiertes, leeres Rails-Projekt verfügt über 12 Unterverzeichnisse. In Ruby geschriebene Controller paaren sich mit in RHTML geschriebenen Ansichten (HTML mit eingebettetem Ruby-Servercode). Eine einzige Tastenkombination in RadRails macht das Wechseln vom Controller zur Ansicht und zurück nahezu mühelos.

Die konventionelle Rails-Codierung zwingt den Entwickler, vom Editor zu einer Konsole zu einem Webbrowser und von der Bearbeitung einer Datei zur Bearbeitung einer anderen Datei zu wechseln. RadRails verschiebt den größten Teil dieser Aktivität effektiv in eine praktische IDE mit Registerkarten.

Natürlich ist RadRails kaum die einzige Möglichkeit, Rails-Apps zu entwickeln. Ein Teil der Konkurrenz ist kommerziell: TextMate unter Mac OS X ist ein Editor, der 50 Programmiersprachen unterstützt und mit Ruby on Rails-Hervorhebungen und Makros geliefert wird. Es ist beliebt bei Mac Rails-Entwicklern.

Ein weiterer kommerzieller Konkurrent, Komodo, ist eine IDE für dynamische Sprachen, die unter Linux, Mac OS X, Solaris und Windows ausgeführt wird. Komodo ist eine der wenigen IDEs, die eine Ruby on Rails-Anwendung debuggen können, aber ich habe festgestellt, dass das Debuggen so langsam ist, dass ich es selten verwende. SlickEdit ist ein leistungsfähiger und reaktionsschneller, plattformübergreifender, mehrsprachiger Code-Editor, der eine gute Ruby-Unterstützung bietet.

RadRails hat auch seinen Anteil am freien Wettbewerb. Ruby wird mit SciTE geliefert, einem kostenlosen Editor, der viele Programmiersprachen unterstützt, und FreeRIDE, einer kostenlosen plattformübergreifenden Ruby-IDE, die in Ruby geschrieben wurde. FreeRIDE wird schließlich Refactoring-Funktionen haben. Und natürlich hat fast jede Entwicklungsplattform kostenlose Versionen von vi und emacs.

Auf Kurs kommen

RadRails ist ein Eclipse RCP-Plug-In. Die eigenständige Version, die die Teile enthält, die Eclipse benötigt, ist ein Download von 45 MB. Das Eclipse 3.2 SDK ist ein Download mit 120 MB. Laden Sie daher besser die eigenständigen RadRails herunter, es sei denn, Sie benötigen die anderen Perspektiven im Eclipse SDK. Ich habe die eigenständige Windows-Version von RadRails 0.7 unter Windows XP SP2 mit Java 1.5, Ruby 1.8.4 und Rails 1.1.4 getestet.

Der Hauptzweck von RadRails ist die Integration der Rails-Entwicklung, und das gelingt. Innerhalb von RadRails in der Rails-Perspektive kann eine neue Rails-Anwendung und ein neuer Webserver generiert werden. konfigurieren Sie seine Datenbanken; Controller und Modelle generieren; Modelle, Controller und Ansichten bearbeiten; und durchsuchen Sie die Anwendungsseite.

Der Rails Navigator und die Wrapper für die vielen Rails-Generatoren und Rake-Einrichtungen helfen dabei, das Projekt effektiv zu verwalten. (Rake ist ein Ruby-basiertes Make-like-Dienstprogramm.) Die RadRails-Editoren können Syntaxhervorhebungen und einige primitiven Codegenerierungen durchführen. Für eine umfassendere Codegenerierung sollten Sie Rails-Generatoren ausführen.

In der Datenperspektive kann man die Projektdatenbanken anzeigen und SQL-Abfragen ausführen. RadRails fehlt ein SQL-Abfrage-Generator. Sie können entweder Ihre eigenen SQL-Skripte schreiben oder ein anderes Tool zum Erstellen von Abfragen verwenden.

Das Überwachen der Rails-Protokolldateien ist die empfohlene Methode zum Debuggen von Rails-Anwendungen. RadRails kann das Dienstprogramm tail für bestimmte Protokolldateien ausführen und die Ausgabe in die von ihm verwalteten Konsolenfenster weiterleiten. RadRails kann jedoch keine Haltepunkte im Ruby-Code zum Debuggen festlegen.

Ruby on Rails unterstützt Unit-, Funktions- und Integrationstests, die alle mithilfe von Rake-Skripten automatisiert werden. RadRails kann diese Tests direkt verwenden oder über eine eigene Testschnittstelle steuern, die einen schönen Ergebnisanzeigebaum erstellt. RadRails 0.7 führt eine neue AutoTest-Funktion ein, mit der die mit einer Datei verknüpften Tests bei jedem Speichern automatisch ausgeführt werden können. Mein einziges Problem mit der RadRails-Testeinrichtung ist, dass der Start auf meiner 3,2-GHz-Pentium 4-Workstation mit 1 GB RAM langsam ist, möglicherweise weil der Ruby-Remote-Testläufer anstelle des Rake-Testkabels verwendet wird.

Eines der Mantras der Test-First-Entwicklung ist „Rot, Grün, Refaktor“. RadRails unterstützt die Schritte Rot (Test schreiben, der fehlschlägt) und Grün (Code schreiben, um den Test zu bestehen) recht gut, zwingt den Entwickler jedoch, manuell umzugestalten. Glücklicherweise hilft die Struktur von Rails-Anwendungen normalerweise dabei, den Code gut zu berücksichtigen.

RadRails verfügt ebenso wie Komodo und SlickEdit über einen eigenen Prüfstand für reguläre Ausdrücke. Im Gegensatz zu Komodo und SlickEdit kann die Anzeige nicht mit einem Zeilenumbruch versehen werden. Zum Beispiel musste ich weit nach rechts scrollen, um das Ende des zweiten Kommentars zu lesen (wie im Bild links hervorgehoben) und den Programmierer dieses Controllers, einen TextMate-Benutzer, bitten, in Zukunft lange Kommentare zu vermeiden.

RadRails lässt sich in CVS- und Subversion-Versionskontrollsysteme integrieren. Es lässt sich nicht in Perforce oder in Versionskontrollsysteme integrieren, die die Windows SCC-Schnittstellenkonvention verwenden.

Raum für Wachstum

Die auffälligste Schwäche von RadRails 0.7 ist die spärliche Dokumentation, deren Fertigstellung für die Version 1.0 geplant ist. Zwei kurze Demo-Videos auf der RadRails-Website können Entwicklern den Einstieg erleichtern, danach sind Sie jedoch weitgehend allein. Ich würde auch gerne sehen, wie RadRails in der Reihenfolge des Schwierigkeitsgrades den Zeilenumbruch, die automatische Codeformatierung, die Integration der Quellcodeverwaltung, das Debuggen und das Refactoring verbessert.

Insgesamt befindet sich RadRails 0.7 auf einem guten Weg, „Rails-Entwicklern alles zu bieten, was sie zum Entwickeln, Verwalten, Testen und Bereitstellen ihrer Anwendungen benötigen“. Da es kostenlos heruntergeladen werden kann, sollten alle ernsthaften Rails-Entwickler es für ihre Toolkits in Betracht ziehen.

Scorecard Leistung (10,0%) Benutzerfreundlichkeit (20,0%) Integration (20,0%) Merkmale (40,0%) Wert (10,0%) Gesamtpunktzahl (100%)
RadRails 0.7 7.0 7.0 9.0 8.0 10.0 8.1