Archive

Archive for May, 2009

IDE Shootout: Vergleich von Eclipse vs. IntelliJ Idea vs. Netbeans

May 28th, 2009 Reto Kiefer No comments

Wie der geneigte Leser an den Posts in meinem Blog sehen kann, habe ich mich in der letzten Zeit mit verschiedenen IDEs im Zusammenhang mit verschiedenen Sprachen und Technologien beschäftigt. Auch wenn der Prozess der Sichtung noch nicht abgeschlossen ist, wage ich dennoch einmal den Vergleich zwischen den drei Major IDEs wenn es um die Entwicklung mit Java und anderen Sprachen geht. Ich werde nicht nach IDE sortieren sondern nach verwendeten Sprachen und Frameworks. Zur Verwendung kommen die aktuelle Eclipse 3.4 (mit Vorausschau auf 3.5), Netbeans 6.7 Beta und IntelliJ Idea 8.1.

PHP

Die PHP Unterstützung ist nur in Eclipse und in Netbeans gegeben. Das freie PDT in Eclipse ist gleichzeitig die Grundlage für das kommerzielle Zend Studio for Eclipse, die führende IDE im PHP Bereich. Von den Kosten kann man fairerweise nur PDT und das Netbeans-Plugin vergleichen. Beide haben einen großen Coding Comfort und die Debugger Unterstützung ist ausgereift. Beide bringen auch Standardfeatures ihrer jeweiligen Mutter IDE mit, also Code Folding, Zeilennummerierung, ausgefeilte Suchen & Ersetzen Funktionen, Filenavigator und eine Outlineansicht sowie Anzeigen über Probleme, Todos etc.

Das Zend Studio erweitert PDT in vielerlei Hinsicht, etwa um ausgefeiltes Codeformatting, Unittest-Unterstützung, Server-Debugging und vieles andere mehr. Das Zend Studio (und damit die Eclipse-Plattform) ist klarer Gewinner des Vergleichs es kostet aber auch an die 400 €. Bleibt man bei den kostenfreien Lösungen gewinnt meines Erachtens die Netbeans-Lösung vor Eclipse. Zum einen ist das Editieren von Code in vielerlei Hinsicht komfortabler, die IDE fühlt sich schneller an und vor allem sind mit Unittest-Unterstützung und Code-Coverage-Analyse bereits Pro-Features aus dem Zend Studio frei verfügbar.

Fazit: Auch für größere Projekte reicht die Netbeans-Lösung aus, in einem aktuellen Projekt spicht einzig das Code-Formatting noch unbedingt für Zend, alles andere könnte man vermutlich auch mit Netbeans erledigen.

Flex

Für Flex fällt Netbeans komplett aus, da es keinerlei Support bietet. Für Eclipse gibt es den großen Flex Builder von Adobe, der kostenpflichtig ist, es sei denn man ist Student oder grade durch die Wirtschaftskrise arbeitslos geworden. IntelliJ ist ja eine kommerzielle IDE, aber der Flex Support kostet keinen Aufpreis.

Der Flex Builder ist so ziemlich der Standard wenn es um Flex Entwicklung geht. Er hat einen einmaligen visuellen Editor, der Roundtip-Engineering zwischen visueller und coding Ansicht bietet. Flex Builder bietet in Sachen Run-Configuration, Debugging und Profiling so ziemlich alles was man benötigt. Der Editor ist jedoch nur mäßig, so gibt es kaum Möglichkeiten, die Sourcen zu verändern, noch nicht mal ein “Format Source” ist dabei. Für einige Sachen gibt es Plugins aber vieles bleibt außen vor. Der Flex Builder ist entweder Standalone mit Eclipse zu beziehen oder als Eclipse Plugin.

Ein zweites Eclipse Plugin sind die Flash Development Tools (FDT) von Powerflasher, die in ihrer neuesten und teuersten Version Unterstützung für Flex bieten. Der Coding Comfort soll hier sehr gut sein, aber für den fast doppelten Preis des Flex Builders ist das definitiv zu viel.

Eine Alternative bietet hier IntelliJ gerade wenn man noch in anderen Sprachen programmiert erhält man einen ausgezeichneten Flex Support. Die Editorfunktionen sind sehr umfangreich und man findet viele Features, die man normalerweise nur in einem Java-Editor finden würde. Idea 8 unterstützt auch das Debugging von Flex.

Fazit: Eclipse oder IntelliJ Idea ist hier die Entscheidung. Wer das eine oder das andere mag wird seine Flex IDE aus dem gleichen Hause nehmen. Gerade wenn beide Backends in Java gecodet werden spielt es keine Rolle. Ist das Backend zu einer Flexanwendung aber in PHP geschrieben so bietet sich die Kombination Zend Studio for Eclipse in Verbindung mit dem Flex Builder Plugin an.

Groovy & Grails

Für Groovy und Grails gibt es für alle drei IDEs Unterstützung aber in unterschiedlicher Qualität. Ein ziemlicher Ausfall ist das Plugin für Eclipse. Es kann sehr wenig und ist noch in einem frühen Stadium. IntelliJ war lange der Marktführer in Sachen Groovy-/Grails-Support, der Vorsprung schwindet aber mit jeder Version von Netbeans stärker. Die aktuelle Beta von Netbeans 6.7 reicht an die Fähigkeiten von Idea 8 heran. Hier entscheidet alleine, was es für Vorlieben gibt. Eclipse sollte aus der Entscheidung außen vorgelassen bleiben und wenn schon IntelliJ im Hause ist sollte man dabei bleiben. Startet man aber auf der grünen Wiese oder will einfach mal nur mit einer gescheiten Entwicklungsumgebung etwas Groovy und Grails programmieren, dürfte die Entscheidung eindeutig für die Netbeans 6.7 Beta ausfallen.

Java-Script / HTML

Java-Script wird von allen drei IDE hervorragend unterstützt. Für Eclipse gibt es mit Aptana sogar eine Distribution, die auf die JS Entwicklung abzielt. Idea 8 hat einen ebenfalls sehr guten Java-Script Support und zeigt dies eindrücklich mit dem Java-Script Debugger. Netbeans in der aktuellen Beta bringt auch einen exzellenten Java-Script Support mit und ist in Sachen Codeerkennung und Codevervollständigung vorne. Der HTML Support ist ebenfalls in allen drei IDEs gut bedacht und es macht für einen Entwickler durchaus Sinn eine der IDEs statt Dreamweaver :-/ oder anderer Tools wie Espresso zu benutzen. Die Entwicklungsgeschwindigkeit wird sich positiv bemerkbar machen. Man muss auch bei einer IDE nicht immer auf einen visuellen Modus verzichten.

Java

Last but not least will ich kurz auf Java eingehen, die Sprache, der alle drei IDEs ihre Existenz verdanken. Nicht nur weil sie in Java programmiert sind sondern auch weil Java die erste Sprache war, die sie unterstützten. Alle drei IDEs bieten einen hervorragenden Support für die Javaentwicklung und lassen kaum Wünsche übrig. Wer welche IDE für Java einsetzt, wird nach seinen Vorlieben (oder denen seines Projektleiters) entscheiden oder nach dem, was er gewohnt ist. Unterschiede gibt es trotz aller Gemeinsamkeiten dennoch. Ein großes Plus von Eclipse ist die Mannigfaltigkeit von Plugins, die einem die Javaentwicklung erleichtern oder diese Unterstützen. Neben dem freien Eclipse gibt es auch kostenpflichtige Distributionen, die spezielle Einsatzzwecke abdecken- Der Vorteil von Netbeans ist die Einfachheit der Inbetriebnahme. man installiert es lädt über den Plugin Manager ein paar Plugins nach und beginnt ein neues Projekt in kürzester Zeit. Wer einmal eine umfangreiche Eclipse-Installation aufgesetzt hat, kann davon nur träumen. IntelliJ Idea hat seine eingeschworene Nutzergemeinde und geht einen Sonderweg in Nutzerführung und IDE-Nutzung.

Fazit

Wer welche IDE nutzt sollte dies von seinen Vorlieben, den Vorgaben seiner Projekte und den Anforderungen abhängig machen. Geben sich die IDEs bei Java wenig, sieht es bei der Unterstützung für andere Sprachen schon wieder anders aus. Der Vorteil für den Entwickler ist, dass er für seine Technologie fast immer eine kostenfreie Option angeboten bekommt – nur selten ist ein Obulus für die Unterstützung einer Sprache notwendig. IntelliJ scheidet beim Thema Kostenfreiheit aus, da es kommerziell ist, genau wie der Flex Builder, Zend Studio oder MyEclipse. Netbeans, das lange das Stiefkind unter den IDEs war legt seit Version 6.5 ein atemberaubendes Tempo vor und hat zu den anderen IDEs längst aufgeschlossen. Es bleibt nur zu hoffen, dass Suns Übernahme durch Oracle nicht das Ende von Netbeans und die Entscheidung für JDeveloper bedeutet. Es wäre schade um eine gute IDE und auch die innovationstreibende Konkurrenz zu Eclipse wäre großteils verschwunden.

Wie auch immer die individuelle Entscheidung ausfällt, bleibt festzuhalten: Es ist gut, dass die Entwickler Freiheit in den eingesetzten Produktionsmitteln haben. Der zumeist kostenlose Zugang zu IDEs fördert auch den Zugang zur Programmierung. Und dass neben Java immer mehr Sprachen und Technologien einen zunehmend guten IDE Support erhalten ist wohl das größte Plus der aktuellen Entwicklung.

Categories: AJAX, Adobe Flex, Development, Eclipse, Java, JavaFX, PHP, XML Tags:

Nächster DevDusk am 4.6.

May 19th, 2009 Reto Kiefer No comments

Der nächste DevDusk wird am Donnerstag, den 4. Juni wie immer in der Brotfabrik stattfinden.

Die Themen dieses mal sind:

20:00 Thema 1 (45 min. + 5 min. Q&A)
Dr. Stefan Schneider von Sun Microsystems führt in die neue RIA Technologie JavaFX ein und zeigt die Vorteile der auf der JVM basierenden Technologie.

21:10 Thema 2 (45 min + 5 min. Q&A)
Stephan Hochdoerfer von der bitExpert AG wird über Testing untestable Code sprechen.

Wie immer wird es reichlich Zeit und Gelegenheit zum gegenseitigen Austausch geben. Der Eintritt ist frei, Getränke und Speisen sind über die Brotfabrik jederzeit individuell zu bekommen.

Was ist der DevDusk?

DevDusk ist eine non-profit Community-Veranstaltung für Entwickler und technisch Interessierte. Alle zwei Monate kommt man zusammen und diskutiert Vorträge die von Menschen aus der Community oder von Firmenrepräsentanten gehalten werden. Dabei werden die verschiedensten Technologien und aktuelle Themen aus der Software und Open Source Welt vorgestellt und in lockerer Atmosphäre besprochen.

Jeder DevDusk hat eine fachliche und eine soziale Komponente. Zwischen und nach den Vorträgen besteht genug Zeit und Raum, sich miteinander auszutauschen und neue Leute kennenzulernen. In der Regel finden die DevDusk an Orten statt, die eine Bewirtung haben – die Veranstaltung selbst ist jedoch kostenlos.

Der DevDusk ist ein eigenes Veranstaltungsformat, das von einer Community getragen wird. Man könnte auch sagen, „der Tag geht, die Programmierer kommen“, wie es kürzlich in einem Artikel über den DevDusk zu lesen war.

Organisiert werden die Treffen von den lokalen DevDusk OrgaTeams, die sich aus freiwilligen Technikenthusiasten zusammensetzen..

Den DevDusk gibt es momentan alle zwei Monate in Frankfurt und in München. Als zentrale Organisationstool existiert die Website http://www.devdusk.de, auf der die Veranstaltungen bekannt gegeben werden. Es ist geplant das Format auch in anderen Städten zu etablieren und eine eigene DevDusk Unconference zu veranstalten

Categories: Allgemeines, Development Tags:

PodCast-Liste

May 15th, 2009 Reto Kiefer No comments

Ich erwähne es ja immer wieder einmal, dass mein bevorzugtes Unterhaltungsmedium PodCasts sind. Aber ich habe mir noch nicht die Mühe gemacht, einmal aufzulisten, was ich an Podcasts abonniert habe. Folgende Liste ist aktuell:

  • Javaposse
    Einer der großen Klassiker im Bereich SWE. Dreht sich rund um die Javaplattform und ist nicht nur informativ sondern auch sehr unterhaltsam.
  • Bits und so
    Mac, iPhone und Geekzeugs wird in diesem Podcast behandelt. Der Podcast ist so gut, dass ich ihn in Form des Bits uns so plus Abos unterstütze. Kurzweilige und informative Unterhaltung at its best.
  • Games und so
    Wie Bits und so aus dem selben Hause, aber eine sehr unterhaltsame Runde zum Thema Videogames. Auch wenn ich kein Hardcore Spieler bin gibts hier immer Besprechungen  von Spielen. Auch sehr unterhaltsam
  • Trance around the World von Above & Beyond
    Frühere Radiosendung des Trance Trios, die ihre Sendung jetzt als Podcast verbreiten
  • This ain’t your Dad’s Java
    Java Podcast, der zwar von Marketingleuten und nicht von Entwicklern gemacht wird, aber trotzdem sehr interessant und spaßig ist.
  • Quotenmeter TV Podcast
    Der Podcast der Website zum Them TV Quoten. Ich schau zwar sehr wenig TV aber hier sieht man welche Konzepte warum funktioneren
  • RIA Weekly
    PodCast zum Thema Rich Internet Applications. Technisch leider nicht so gut gemacht, aber trotzdem sehr informativ.
  • Weiterfeier Podcast
    Ein Techno Podcast vom U60312. Immer eine Stunde Interview mit DJs und anschließendem Set.

Mit Videopodcasts habe ich es noch nicht so, aber folgende sind empfehlenswert und erscheinen auch nicht so häufig:

  • Videogames und so
    Einfach Spaß. Vom Bits und so Team den Leuten beim Daddeln und Kommentieren zuschauen.
  • Flasher Magazine
    Ein progressives und professionelles Videomagazin von Adobe rund um die Flashtechnolgie.
  • Apple Quick Tour of Leopard Server
    Ein Videopodcast rund um Apples Server OS. Von Apple, gut gemachtes Feature-Marketing.
  • Above & Beyond TV
    Videopodcast des bereits oben genannten Trance Producerteams. Sehr stimmungsvolle Videos von Gigs etc.
Categories: Allgemeines Tags: