Der große Anklang, den Ruby on Rails seit rund fünf Jahren in der Webentwickler-Gemeinde findet, gründet nicht nur in den zentralen Konzepten des DRY (Don\'t repeat yourself) und CoC (Convention over Configuration), sondern auch in einer neuen Art des Programmierens. Der Rails-Erfinder David Heinemeier Hansson aus Dänemark will nicht weniger, als die Programmierung von Webanwendungen revolutionieren. Dafür befreit er Webentwickler von überfrachteten Frameworks, die sich erst nach aufwändiger XML-Konfiguration nutzen lassen und viel Speicher verlangen.
Hansson straft die hochgerüsteten IDEs von Sun Microsystems und der Eclipse Foundation mit Nichtbeachtung und hebt den Texteditor Textmate auf den Thron der Rails-Entwicklung [1]. Die Zahl der Ruby-on-Rails-Enthusiasten wuchs im Laufe der Zeit durch Konvertiten anderer Programmiersprachen und -plattformen. Das erzeugte Druck auf die IDE-Lieferanten. So verbündet sich etwa Netbeans seit Version 6.0 auf Wunsch mit Ruby und dem Ruby-Interpreter Jruby [2].
Die Softwarefirma Jetbrains aus Prag springt auf den Ruby-Zug auf. Ende 2008 machten die Tschechen ein Plugin für die hauseigene Java-IDE Intellij Idea zu dem eigenständigen Programm Rubymine. Im April 2009 erblickte die Initialversion 1.0 das Licht der Entwicklerwelt.
Verschlossener Kohlekumpel
Die hier getestete Version 1.0.5 von Mai 2009 (Build 9007) steht unter [3] zur Evaluierung bereit. Ihr Lizenzschlüssel verliert nach 30 Tagen seine Gültigkeit. Die IDE Rubymine ist nicht quelloffen und unterliegt dualer Lizenzierung: Eine Art Open-Source- und eine 85 Euro teure Commercial-Lizenz stehen nebeneinander. Die Open-Source-Lizenz berechtigt zur Entwicklung nicht-kommerzieller, quelloffener Anwendungen, soll den gleichen Funktionsumfang haben und nichts kosten [4]. Jetbrains stellt allerdings eine Reihe Fragen, bevor ein GPL-Entwickler die IDE nutzen darf. Neben dem Projektnamen und der zugehörigen URL ist zum Beispiel ein öffentlicher Zugang zum Quellcode-Repository anzugeben.
Nach dem Auspacken des Tar-Archivs startet das Programm mit Hilfe des Installationsskripts »rubymin.sh« im Bin-Ordner (Abbildung 1). Damit es nicht ins Stolpern kommt, sollte die Umgebungsvariable »JDK_HOME« passen:
export JDK_HOME=/usr/lib/jvm/java-6-sun
Neben Ruby, Rails und MySQL benötigt Rubymine noch ein JDK 6. Beim Test kam ein Ubuntu-9.04-Desktop zum Einsatz.
Abbildung 1: Die Rails-Entwicklungsumgebung Rubymine begrüßt den Entwickler nach dem Start aufgeräumt und wünscht ihm Freude bei der Arbeit (Schriftzug rechts oben).
Schachtplan
Aufgebaut ist Rubymine wie eine klassische integrierte Entwicklungsumgebung, die das Fenster in Projekt-, Datei- und Status-Ansicht unterteilt. Alle Fenster sind eingerastet (Docked Mode), lassen sich aber in Größe und Position verändern. Unterschiedliche Layouts passen die IDE an verschiedene Arbeitsumgebungen und Bildschirmgrößen an.
Auf Entdeckungstour der IDE-Funktionen checkt der Entwickler zum Beispiel ein größeres Projekt aus einem lokalen Git-Repository aus. Um Git innerhalb der IDE zu nutzen, muss in »File | Settings« der Pfad zum Git-Binary stehen. Rubymine verschmäht aber Git 1.5.6. Im Test gelang erst mit der Version 1.6.3.1 die Anbindung. Beim Öffnen des Projekts analysiert Rubymine dessen Struktur und stellt mehrere Ansichten zur Wahl. Die Rails-Ansicht bietet beispielsweise eine strukturierte Perspektive auf die einzelnen Komponenten und löst sich damit von der Verzeichnisstruktur. Wer das nicht will, schaltet auf die verzeichnisorientierte Sichtweise zurück.
Während der Entwickler durch den Rails-Code navigiert, merkt Rubymine, ob er sich im Controller oder im View aufhält. Passend angebotene Navigationsmöglichkeiten sind mit wenigen Shortcuts erreichbar, zum Beispiel »Goto Line«, »Goto File« oder »Goto Class«.