Interaktiver IDE-Vergleich: Teil 3 - IntelliJ IDEA - JAXenter

Roman Strobl von Jetbrains

Interaktiver IDE-Vergleich: Teil 3 – IntelliJ IDEA

Großes Aufsehen erregte die Ankündigung von Jetbrains Mitte Oktober, ihre IntelliJ-IDEA-Entwicklungsumgebung fortan auch in einer freien Community-Edition zur Verfügung zu stellen. Damit reiht sich IDEA ein unter die großen Open-Source-IDEs für die Entwicklung mit Java (und anderen Sprachen und Frameworks) und macht sie vom kommerziellen Nischenprodukt zum frei zugänglichen Allgemeingut auf Augenhöhe mit Eclipse und NetBeans.

Die Anfänge von IntelliJ IDEA liegen im Jahr 2001, als Version 1.0 der IDE das Licht der kommerziellen Softwarewelt erblickte. Seither konnte sich IDEA trotz der drückenden Konkurrenz aus dem Open-Source-Bereich eine treue Fangemeinschaft erhalten und galt lange Zeit als eine der letzten großen kommerziellen IDEs, die den Siegeszug von Eclipse (und zu einem gewissen Grad auch NetBeans) überstanden haben. Bis JetBrains nun eben auch die Open-Source-Karte ausspielte (fast zeitgleich mit dem gerade erschienenen IntelliJ 9 aka „Maia“) und sich damit als dritten Kandidaten für unseren interaktiven IDE-Vergleich qualifizierte. Roman Strobl, Technology Evangelist bei JetBrain, erklärte sich bereit, Eclipse und NetBeans in unserem interaktiven IDE-Vergleich die Stirn zu bieten.

JAXenter: Hallo Herr Strobl. Worauf wurde bei der Entwicklung von IntelliJ IDEA besonderen Wert gelegt?

Roman Strobl: IntelliJ IDEA ist eine Quellcode-zentrierte IDE, die den Fokus auf eine möglichst große Produktivität des Entwicklers legt. Obwohl IntelliJ IDEA ursprünglich als Java-IDE entstanden ist, unterstützt es heute eine Vielzahl an Sprachen. IntelliJ IDEA ist auch eine Keyboard-zentrierte IDE, was bedeutet, dass man völlig ohne Maus auskommt, wenn man möchte. Wir haben uns wirklich darauf konzentriert, alle Erfahrungswerte bzgl. der Bedürfnisse eines Softwareentwicklers in einen Editor umzusetzen. IntelliJ IDEA war die erste IDE, die Refactorings ermöglichte, was dann von anderen IDEs übernommen wurde. Dennoch liegen wir in diesem Bereich immer noch eine Nasenlänge vorne, sowohl was die Anzahl unserer Refactorings als auch deren Qualität anbelangt.

Entwickler lieben IDEA für seine weitreichende Unterstützung unterschiedlichster Sprachen und Frameworks. Ganz gleich also, ob du mit Java SE, Java EE, Spring, Hibernate, PHP, Ruby, Groovy, Scala arbeitest oder einfach nur reine Web-Entwicklung betreibst – du genießt eine großartige Entwicklungserfahrung im Editor mit intelligenter Code-Vervollständigung, zahlreichen Prüfmechanismen, Quickfixes und Refactorings. Natürlich werden auch noch viele weitere Frameworks unterstützt – wir sind immer sehr darauf bedacht, die produktivsten und „heißesten“ Frameworks zu unterstützen, die es da draußen gibt. Zum Beispiel bot IDEA bereits einige Tage vor dem offiziellen Release Java EE 6 Support – man sieht also, dass wir immer ein Stückchen weiter vorausblicken.

In letzter Zeit lag unser Fokus darauf, IDEA einer größeren Entwickler-Community zugänglich zu machen, und wir haben entschieden, eine völlig kostenfreie und quelloffene Version von IDEA zur Verfügung zu stellen, die wir „Community Edition“ genannt haben. Diese freie Version enthält bereits alle fortgeschrittenen Werkzeuge für die Entwicklung mit Java SE, Swing und Groovy. Wir sind ziemlich begeistert von diesem Schritt und haben auch eine Community-Webseite unter jetbrains.org eingerichtet, um eine bessere Zusammenarbeit mit der Open Source Community zu gewährleisten.

JAXenter: Wo liegen aus Ihrer Sicht die Stärken von IntelliJ IDEA gegenüber anderen IDEs?

Roman Strobl: Ich sehe die Stärke von IntelliJ IDEA in der Qualität der Unterstützung für viele verschiedene Frameworks, die bereits in der Grundversion der IDE geboten wird. Bei einigen anderen IDEs ist es nötig, erst viele Plug-ins herunterzuladen und die Entwicklungserfahrung ist dann nicht immer sehr konsistent.

Es kann sogar vorkommen, dass die Plug-ins eine IDE völlig unbrauchbar machen. Mit IDEA ist es nicht nötig, sich diverse Plug-ins mühsam zusammenzusuchen – und wenn zusätzliche Plug-ins benötigt werden, stellen wir qualitativ hochwertige Erweiterungen bereit, die gut in die IDE integriert sind.

Ein anderer Punkt ist die Unterstützung für eine Technologie-übergreifende Entwicklung. Zum Beispiel kann man damit beginnen, den Namen einer Komponente in einer Expression-Sprache innerhalb einer JSP-Seite zu refaktorisieren. Die Änderung wird dann automatisch auf die Bean übertragen und alle Veränderungen werden auch auf Query-Sprachen wie EJQL oder HQL angewandt. Keine andere IDE bietet eine solch tiefgreifende Unterstützung für Refactorings über verschiedene Sprachen und Frameworks hinweg. Ein anderes Beispiel hierfür ist, dass eine Refaktorisierung von JavaScript-Code auch Änderungen sowohl in HTML als auch in CSS bewirken kann – sogar in mehreren Dateien gleichzeitig.

Die größte Stärke von IDEA, verglichen mit anderen IDEs, liegt also in seinem Editor. Unsere Refactorings zerstören niemals den Code, weil sie viele verschiedene Technologien berücksichtigen, mit der Folge, dass man viel weniger Angst davor haben muss, Änderungen am Code vorzunehmen. Wir unterstützen auch das sogenannte „Intention Driven Development“, was bedeutet, dass man nicht darüber nachdenken muss, welche Klassen, Methoden, Variablen etc. deklariert werden müssen, sondern gleich mit dem Kodieren loslegen und fehlende Teile bei Bedarf nachträglich ergänzen kann (mittels introduce variable, introduce class etc.). Das ist möglich, weil IDEA auch mit unvollständigem Code arbeiten kann – während andere IDEs große Probleme damit haben, mit Code umzugehen, der Syntax-Fehler enthält. Mit IDEA kann man Auto-Vervollständigung und Refaktorisierungen sogar auf Code anwenden, der signifikante Probleme enthält. Auch das ist nur möglich durch unser tiefes Verständnis des Quellcodes – ein Verständnis, welches IDEA anders macht.

Geschrieben von
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.