Netbeans vs PHPStorm vs VisualStudio Code vs CodeLite vs Eclipse

Netbeans vs PHPStorm vs VisualStudio Code vs CodeLite vs Eclipse

Webentwicklung mit PHP ist heute wesentlich komplizierter, als noch vor 5 Jahren. Heute brauchst du Frameworks, du arbeitest zum Beispiel mit Namespaces, Templates, Controllern, Models, Views, Routen und Annotations. Die Zeiten, in denen man irgendwie einfach alles zurechtskripten konnte, sind vorbei. Die Anforderungen haben sich massiv verändert. Das sorgt für besser pflegbare Codes und nicht zuletzt für einen gewissen Standard sowohl bei der Sicherheit als auch bei der Performance.

Die Codes heutiger Webanwendungen sind normalerweise auch wirklich gut lesbar, denn Klassen und Objekte haben heute nicht mehr hunderte von Zeilen Spaghetticode, vielmehr sind die Aufgaben der einzelnen Klassen granuliert und werden entsprechend des Bedarfs an anderen Stellen wiederverwertet. Das kann und das sollte man als positiv werten. Mit der „Ausdünnung“ des Codes hat man aber ohne eine vernünftige PHP-IDE ganz andere Probleme. Du siehst auf einmal überall Funktionen und hast keine Ahnung mehr, woher die eigentlich kommen.

Edit Plus

Ich habe früher ausschließlich mit Editplus gearbeitet, einem kleinen Shareware-Editor mit gigantischen Features. Das Ding ist stabil wie kaum ein anderer Editor und man konnte damals direkt per FTP auf dem Server die Dateien überarbeiten. Danach wechselte ich zu Notepad++ und seitdem ich Linuxer bin, ist mein Haupteditor für PHP-Dateien gedit. Diese „Editoren“ werden immer mächtiger und allesamt verfügen über nützliche Features wie Syntax Highlighting, Verzeichnisbrowser und die Unterstützung verschiedener Programmiersprachen.

Für größere Projekte verwende ich allerdings eine sogenannte IDE, denn eine IDE verfügt über viele praktische Features, die ich hier mal kurz aufliste:

  • Codevervollständigung: Eine Codevervollständigung ist relativ einfach zu programmieren. Du prüfst bei jeder Eingabe, ob der User ein bestimmtes Wort vielleicht schreiben möchte. Der Benutzer schreibt zum Beispiel „pri“. Die Chance, dass der User „print“ schreiben möchte, ist also relativ groß. Die einfachste Codevervollständigung vergleicht permanent eine Liste mit Funktionsnamen mit dem eingegeben Wort. Wenn die Codevervollständigung etwas schlauer ist, prüft das Programm beim Tippen jedes vorher geschriebene Wort, ob du vielleicht dieses Wort noch einmal schreiben möchtest. Wenn du in deinem Skript also bereits ein einziges Mal „Telekommunikationsunternehmen“ geschrieben hast, wird der Editor bei jedem „Telekommu“ den Rest des Wortes mit vorschlagen. Das ist schon etwas besser. Eine richtige IDE prüft aber die Eingabe über das gesamte Projekt hinweg. So können Klassennamen wiederverwendet werden. Die Königsdisziplin ist, dass die Klassennamen per Autovervollständigung auch direkt eingebunden werden können.
  • Livedebugging: Während du deinen Code eingibst, wird permanent geprüft, ob der Code überhaupt gültig ist. Die IDE zeigt dir direkt im Eingabefenster schon beim Tippen an, dass dieser Code vermutlich an exakt dieser Stelle nicht mehr funktionieren wird.
  • Codenavigation: Im Code wird eine Funktion aufgerufen. Eine IDE erlaubt es dir, diese Funktion anzuklicken, was dazu führt, dass sofort die Definition dieser Funktion geöffnet wird, damit du die Funktion angucken kannst.
  • Refactoring: Angenommen, du hast eine Funktion namens „find_dubbles()“ gemacht und ein Coder erzählt dir nun, dass „dubbles“ kein englisches Wort ist, kann eine IDE dir helfen, den Code im gesamten Projekt anzupassen. „find_doubles()“ überall per Hand heraus zu suchen, kostet nur Zeit.
  • Versionskontrolle: Eine gute IDE unterstützt eigene Versionierung des Codes, sodass du immer wieder zu einem früheren Stand deines Codes zurück kannst. Eine IDE ist aber auch in der Lage, bekannte Versionierungssysteme wie SVN, Mercurial oder auch GIT zu unterstützen. Im Extremfall musst du nicht mal mehr wissen, wie GIT überhaupt funktioniert, weil die IDE dir die Aufgabe abnimmt.

Ich bin PHP-Entwickler, daher stelle ich hier jetzt die bekanntesten IDEs für PHP vor. Das eine ist der aktuelle Platzhirsch namens PHPStorm, dann noch der verdrängte König Netbeans und zuletzt noch ein Tool, das ich erst seiit ein paar Tagen kenne: CodeLite.

Hinweis: PHPStorm ist eine IDE speziell für PHP, während Netbeans und Eclipse ursprünglich für Java sind und CodeLite eigentlich für C/C++ konzipiert wurde. Durch Plugins können die beiden IDEs entsprechend erweitert werden, im Funktionsumfang kommen weder Netbeans noch CodeLite an PHPStorm heran. Verstehe das auch bitte nicht als Wertung, man kann eine IDE aus ganz subjektiven Gründen lieber mögen. Hier geht's mir wirklich nur um eine Gegenüberstellung dieser Systeme. Fairerweise muss ich auch erwähnen, dass PHPStorm im Gegensatz zu den beiden anderen IDEs weder kostenlos, noch Open-Source ist.

Netbeans

Netbeans IDE

Die Netbeans IDE wird eigentlich immer nur Netbeans genannt. Diese IDE ist komplett in Java geschrieben und Open-Source und kostenlos. Hinter Netbeans stand eine ganze Zeit lang Oracle, mittlerweile wird das Projekt innerhalb der Apache Foundation koordiniert und (langsam) weiterentwickelt. Netbeans ist ursprünglich als IDE für Java konzipiert worden, kann mittlerweile aber eben auch PHP, HTML, Javascript und über Plugins auch C. Auch PHP-Frameworks wie Symfony werden unterstützt. Alle Anforderungen, die man an eine IDE haben kann, werden erfüllt. Du kannst Refactoring, diverse Versionssystem, Navigation und vieles andere direkt benutzen. Die Plugins erlauben die weitreichende Anpassung an eigene Anforderungen. Netbeans gibt es für Windows, Mac und Linux, da es sich um eine Java-Applikation handelt.

Netbeans ist meine persönliche Lieblings-IDE, weil sie ziemlich mächtig ist und dabei gar nichts kostet. Ein großer Nachteil von Netbeans ist im Moment die sehr lahmarschige Releasepolitik. Ich hoffe, dass die Apachefoundation da jetzt so langsam mal Feuer macht.

Eclipse

Eclipse ist - wie Netbeans auch - eigentlich eine Java-IDE, doch auch Eclipse wurde über viele Jahre weiter entwickelt, sodass auch PHP oder C/C++ direkt unterstützt wird. Im Gegensatz zu Netbeans ist Eclipse ziemlich aufgeblasen und wirkt oft altbacken und langsam. Doch der Schein trügt, mit Eclipse bekommt man eine unfassbar stabile IDE mit sehr vielen guten Features. Auch Eclipse kann alles, was man von einer IDE erwarten würde. Die Lernkurve und der Einstieg kann allerdings ein wenig „hakelig“ sein. Ich selbst bin damals über eine (mittlerweile eingestellte) IDE namens Aptana an Eclipse rangekommen. Damals verwirrten mich die unzähligen Views oder auch die Einrichtung von Projekten. Mittlerweile mag ich Eclipse relativ gerne, aber irgendwie favorisiere ich noch Netbeans. Eclipse ist auch kostenlos zu beziehen, läuft auf jedem bekannten Desktop-System und hat eine sehr aktive Developer-Gemeinde.

Eclipse
CodeLite

CodeLite

CodeLite ist auch für mich noch relativ neu. Eigentlich handelt es sich hier um eine C/C++-IDE, welche ursprünglich hauptsächlich auf Windows lief. Im Gegensatz zu allen anderen IDEs wird CodeLite nicht in Java, sondern per GTK-Framework gestartet. Das macht diese IDE zu einer der schnelleren Alternativen. CodeLite nutzt die Scintilla-Bibliotheken für's Syntax-Highlighting, daher kann direkt PHP,HTML, CSS, C, Javascript und vieles mehr vernünftig dargestellt werden. CodeLite ist von allen hier vorgestellten IDEs mit Abstand die schnellste, allerdings liegt die Stärke und der hauptsächliche Focus von CodeLite klar bei C/C++ und nicht bei PHP. Der Sprung zu Methodendefinitionen funktioniert nicht so richtig gut. Was für CodeLite spricht, ist der extrem schnelle Start und das sehr gute Syntaxhighlighting. Ob ich damit große Webprojekte umsetzen würde, wage ich allerdings im Moment noch zu bezweifeln

PHPStorm

Der Platzhirsch. PHPStorm ist technisch die beste PHP-IDE, die man für Geld kaufen kann. Die Firma Jetbrains wirbt mit dem Spruch, dass „dein Code verstanden wird“ und man muss neidlos anerkennen, dass PHPStorm das wirklich tut. Es funktioniert unfassbar gut, sich über Funktionsdefinitionen durchzuklicken oder die Namespaces größerer Projekte vernünftig aufräumen zu können. PHPStorm hat mit Abstand den am besten durchdachten Debugger und das Feature "shift, shift, Suche" ist so geil, da möchte man am liebsten die Entwickler von PHPStorm knuddeln und liebhaben. Die IDE ist von vorne bis hinten extremst gut durchdacht und Features wie der Watcher erleichtern Webentwicklern eine Menge Arbeit.

PHPStorm ist auch die einzige kostenpflichtige Lösung, die ich hier vorstelle. Natürlich kann man mit einem fest planbaren Budget von 8,90 € pro Lizenznehmer pro Monat richtig viel Geld in gute Features investieren. Tatsächlich gibt es, ausser seltenen Performanceeinbrüchen an PHPStorm nichts zu bemängeln. Die neuen Releases erscheinen regelmäßig und innerhalb meiner Projektarbeiten kam es selten zu ausfällen. 30 Tage läuft die Demo, danach muss man das Programm kaufen.

PHPStorm
Visual Studio Code

Visual Studio Code

Streng genommen ist Visual Studio Code keine IDE, daher wurde diese formidable Programm von mir zuerst hier nicht so richtig aufgeführt. VSC ist ein relativ neues Programm von Microsoft, es ist Opensource und man kann es über viele Plugins erweitern. Visual Studio Code läuft unter Windows, Linux und Mac OS. Und ja, der Editor ist sehr schnell.

Aufgrund einiger kleiner Diskussionen bei Facebook habe ich mir den Editor noch einmal genauer angeschaut. Während „Code“ tatsächlich erst mal keine IDE ist, kann man mit den richtigen Plugins eine Menge aus dem System rausholen. Über den PHP-CS-Fixer kann man seinen Code verhübschen, es ist möglich, Klassenmethoden direkt zu finden und je nachdem, was man alles an Plugins nachinstalliert, kann man aus dem schlanken Editor doch eine relativ geile IDE machen.

Fazit

Die beste IDE ist nach wie vor PHPStorm. Gemessen an allen Features kann PHPStorm am allermeisten, es ist sehr schnell und es vereinigt sehr viele gute Ideen in sich. Selbst ältere Versionen von PHPStorm sind mächtiger, als die meisten aktuellen Releases der anderen IDEs. Und dennoch benutze ich PHPStorm nicht. Für alle Arbeiten, die ich am Computer durchführe, verwende ich Opensource. Mein Betriebssystem ist Fedora bzw. auch Ubuntulinux, mein Webserver ist Apache, meine Skriptsprache ist PHP. Ich bearbeite Photos mit GIMP oder zeichne Vektoren mit Inkscape. Auf meinem Medienserver läuft Kodi, meine Textverarbeitung ist LibreOffice und der Browser meiner Wahl ist Netscape.

Ich liebe und lebe Opensource. Dabei geht es mir gar nicht um die Kosten für diese Programme. Es geht mir darum, dass ich mich niemals von Lizenzgebern abhängig machen will. Opensource ist für mich eine Philosophie und ich verstehe nicht, warum man nicht grundsätzlich alle Sourcen der Welt freigibt.

PHPStorm sollte man installieren, wenn man eine sehr gute IDE benötigt, Netbeans sollte man installieren, wenn man eine sehr gute IDE benötigt, sich aber reinen Gewissens für den freien Zugang von Wissen für die ganze Welt einsetzen möchte.

Leider hat hier noch keiner seinen Senf zum Thema abgegeben. Sei du doch der erste. Oder die erste. Oder das letzte.

Über...

Diese Website nutzt Cookies. Wofür genau, steht hier: Zum Thema Cookies und natürlich in der Datenschutzerklärung. Hab ich verstanden