28.012015

NetBeans oder Eclipse? Wo liegen Unterschiede? Teil I

NetBeans oder Eclipse? Das sind zwei der gängingsten Entwicklungsumgebungen für objektorientierte Programmierung. Beide erleichtern unseren Alltag und sorgen (im Idealfall) für guten Workflow. Vervollständigung und Highlighting, Subversioning und viele andere Dinge sind ausschlaggebend für die Auswahl der richtigen IDE. Da ich mit beiden nun ein wenig gearbeitet hab, fasse ich hier einige Dinge auf, die mir aufgefallen sind. Teil I: NetBeans IDE

NetBeans

NetBeans, (oder eigentlich "NetBeans IDE") ist eine Open-Source IDE, die auf der Java-Plattform "NetBeans" basiert. Ursprünglich war sie für die Entwicklung von Java-Projekten gedacht, durch Pakete kann die Umgebung aber auch Projekte in anderen Programmiersprachen, wie C++ oder PHP unterstützen.

Installation

Wie bei Eclipse brauchen wir zum Installieren bzw. Ausführen der IDE ein installiertes JRE, unter Windows gibt es im Gegensatz zu Eclipse jedoch einen Installer, der das Programm installiert. Eclipse ist für Windows als ZIP-file erhältlich, das nach dem Entpacken die direkt ausführbare IDE beinhaltet. Installiert werden muss Eclipse also nicht.

Projekt einbinden

Beim Anlegen eines bestehenden Projekts (zum Beispiel ein PHP-Projekt), werden nun alle Dateien untersucht, Klassen und deren Footprints werden zusammengestellt. Das geschieht auch beim erneuten Öffnen eines bestehenden Projekts. Wenn vorahenden, wird auch geprüft, ob über SVN ein Update oder über GIT ein Pull empfohlen wird. Das sorgt unter Anderem in (Domänen-)Netzwerken zu Verzögerungen beim Starten der Entwicklungsumgebung.

Versionierung

Wie bereits angesprochen: JA - die IDE von NetBeans unterstützt SVN und GIT, wenn zum Beispiel über TortoiseSVN ein Trunk als Projekt eingestellt ist oder ein Projektordner einzeln aus einem Repository kommt. Im Project-explorer kann man schnell erkennen, wenn etwaige Versionierung vorgenommen werden muss.

Autovervollständigung

Aus Zeiten des funktional-Programmierens mit Notepad++ hat man sich sehnlich eine Autovervollständigung für verteilte Methoden gewünscht, in NetBeans bei der objektorientierten Entwicklung funktioniert sie auch prächtig. Sie funktioniert so prächtig, dass der Segen auch ab und zu zum Fluch wird. Unter Berücksichtigung, dass ich nichts an der IDE eingestellt habe, kann man das vielleicht vernachlässigen, aber ich brauche keine Auflistung von 500 built-in Funktionen aus PHP, wenn ich in einem neuen Dokument die "magische" Zeichenfolge "<?PHP" eintippe und auf >enter< drücke.

Syntaxhervorhebung

Auch aus "den alten Tagen" schon bekannt und unabdingbar - Die korrekte Hervorhebung von Quellcodes, um anhand der Fraben oder des Kursivdrucks zu erkennen, was dieser Textabschnitt genau macht. Unterschieden wird hier ganz klar zwischen Kommentaren, Funktionen und Variablen. Zusätzlich (also verglichen mit der Arbeit ohne IDE) werden gelegentlich Variablen unterstrichen.

Unterstrichene Variablen

Beim Mouseover werden verschiedene Tips angezeigt, die bisher nie falsch lagen. Beispielsweise wird eine Variable gelb unterstrichen, wenn sie innerhalb der Funktion noch nicht definiert wurde, oder wenn sie definiert wird, aber überhaupt nicht benötigt wird.

PHP Class "Kaffe"

Meine Meinung

NetBeans hat auf jeden Fall das Zeug dazu, eine Menge Zeit durch die Vervollständigung zu sparen und somit als Umgebung herzuhalten. Durch Meldungen wie "$teebeutel seems to be unused in its scope" lässt sich auch Code einsparen. Mir gefällt momentan nicht alles, aber es lässt sich eine Menge einstellen. Ich werde weiterhin in NetBeans arbeiten und lerne diese Settings erst kennen. Vielleicht zeige ich euch beim nächsten Teil auch die eine oder andere wichtige Einstellung, die mir geholfen hat.

Ausblick: NetBeans oder Eclipse? Wo liegen Unterschiede? Teil II

Apropos nächster Teil - Im nächsten Teil gehe ich auf die Eclipe IDE ein und sammle ein paar Eindrücke dazu. Quasi vorweg lässt sich sagen, dass ich bei Eclipse schon mal einen Ragequit hatte, der mich prompt dazu brachte, NetBeans zu nutzen und eben genau die Unterschiede der beiden IDEs mal aufzufassen.