JavaRush /Java-Blog /Random-DE /Eclipse, NetBeans oder IntelliJ IDEA? Auswahl einer IDE f...
Bender
Level 1
Маунтин-Вью

Eclipse, NetBeans oder IntelliJ IDEA? Auswahl einer IDE für die Java-Entwicklung

Veröffentlicht in der Gruppe Random-DE
Eclipse, NetBeans oder IntelliJ IDEA?  Auswahl einer IDE für die Java-Entwicklung – 1Wir präsentieren Ihnen eine Adaption eines Artikels von Martin Heller, Programmierer und Herausgeber der JavaWorld-Ressource. Sie haben wahrscheinlich bereits von den drei beliebtesten IDEs für die Java-Entwicklung gehört. 90 Prozent der Industrieprogrammierer verwenden entweder Eclipse, NetBeans oder IntelliJ IDEA, und jede dieser IDEs hat ihre eigenen Vor- und Nachteile. In diesem Artikel werden wir versuchen, sie zu beschreiben, damit Sie verstehen, welches für Sie das Richtige ist. Obwohl es natürlich besser ist, alle drei am Arbeitsplatz auszuprobieren und herauszufinden, was für Sie am besten funktioniert. Keine Rezension kann dies ersetzen.

Was ist eine Entwicklungsumgebung?

Die ganz kurze Antwort lautet: Eine Entwicklungsumgebung ist ein Programm oder mehrere Programme, die Sie zum Erstellen von Programmen verwenden. Dieser Prozess umfasst eigentlich das Schreiben des Codes, das Debuggen, das Starten und die Integration in Versionskontrollsysteme. Während frühere Entwickler häufig einen einfachen Texteditor (manchmal sogar ohne Syntaxhervorhebung) wie Notepad und die Befehlszeile verwendeten, verwenden sie heute am häufigsten All-in-One-Prozessoren, integrierte Entwicklungsumgebungen oder IDEs.

Was ist eine IDE?

Integrierte Entwicklungsumgebung oder auf Englisch Integrierte Entwicklungsumgebung – IDE – ist ein Programm, das Werkzeuge für die Softwareentwicklung enthält. Typischerweise umfasst eine moderne Entwicklungsumgebung:
  • Texteditor mit Code-Hervorhebung;
  • Compiler oder Interpreter;
  • Klassenbrowser, Objektinspektor und Klassenhierarchiediagramm;
  • Werkzeuge zur Montageautomatisierung;
  • Debugger;
  • Tools zur Integration mit Versionskontrollsystemen (Git);
  • Tools zur Vereinfachung des Designs einer grafischen Benutzeroberfläche.
Ich habe bereits mit diesen IDEs gearbeitet, aber für diese Studie habe ich IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE und NetBeans 8.1 Java EE auf einem MacBook Pro-Laptop installiert. Ich habe die IDE an mehreren Open-Source-Java-Projekten getestet.

Was Sie von einer IDE erwarten können

Eine moderne IDE für einen „gesunden Java-Entwickler“ sollte Java 8, Scala, Groovy sowie andere Java-Virtual-Machine-Sprachen unterstützen, die er regelmäßig verwendet. Auch die Unterstützung der wichtigsten Anwendungsserver und der beliebtesten Web-Frameworks, darunter Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails und Vaadin, wäre hilfreich. Die IDE muss mit allen Versionskontrollsystem-Builds wie Ant, Maven oder Gradle sowie Git, SVN, CVS, Mercurial oder Bazaar kompatibel sein. Darüber hinaus ist es für die Entwicklungsumgebung wichtig, mit Datenbanken und der Client-Schicht Ihres Stacks arbeiten zu können und über Unterstützung für integriertes JavaScript, TypeScript, HTML, SQL, JavaServer Pages, Hibernate sowie Java Persistence zu verfügen API. Schließlich ist es logisch zu hoffen, dass die IDE es Ihnen ermöglicht, Systeme ohne unnötigen Stress zu bearbeiten, zu erstellen, zu debuggen und zu testen. Im Idealfall unterstützt die Entwicklungsumgebung nicht nur intelligente Code-Vervollständigung, sondern auch intelligentes Refactoring und Code-Metriken. In vielen Fällen wird es nützlich sein, Test-Frameworks und Stubs zu unterstützen. Wenn Ihr Team ein Ticketsystem und CI/CD verwendet, benötigen Sie die IDE, um eine Verbindung herstellen zu können. Und entscheiden Sie, ob Sie Bereitstellung und Debugging in Containern und Clouds benötigen. Wir haben nur die Grunderwartungen aufgelistet (vielleicht haben Sie noch etwas hinzuzufügen) und werfen nun einen genaueren Blick auf unsere Konkurrenten.

IntelliJ-IDEE

Eclipse, NetBeans oder IntelliJ IDEA?  Auswahl einer IDE für die Java-Entwicklung – 2In Bezug auf Funktionen und Preis gibt es IntelliJ IDEA in zwei Versionen: der kostenlosen Community-Edition und der kostenpflichtigen Ultimate-Edition mit erweiterter Funktionalität. Die Community Edition ist für die JVM- und Android-Entwicklung konzipiert. Die kostenlose Version unterstützt Java, Kotlin, Groovy und Scala; Android; Maven, Gradle und SBT; funktioniert mit den Versionskontrollsystemen Git, SVN, Mercurial und CVS. Die Ultimate Edition eignet sich für die Web- und Unternehmensentwicklung. Diese Version der IDE funktioniert nicht nur mit Git, SVN, Mercurial und CVS, sondern auch mit Perforce, ClearCase und TFS; darin können Sie in JavaScript und TypeScript schreiben; Selbstverständlich gibt es Unterstützung für Java EE, Spring, GWT, Vaadin, Play, Grails und eine Reihe weiterer Frameworks. Und natürlich dürfen SQL und Tools für die Arbeit mit Datenbanken nicht fehlen. Die Idee, die die Entwickler dieser IDE bei der Gestaltung ihrer Preispolitik leitet, ist, dass ihre kommerzielle Version (Ultimate) ihren Platz auf den Computern von Profis einnehmen wird, wodurch deren Produktivität gesteigert wird. Wenn ein Java-Programmierer jährlich 50.000 US-Dollar (oder sogar mehr) verdient, wird sich der Return on Investment, der für die kostenpflichtige IDE IntelliJ IDEA ausgegeben wird (500 US-Dollar für ein Jahresabonnement), aufgrund einer geringfügigen Beschleunigung seiner Arbeit sehr schnell erzielen. In den Folgejahren sinkt der Preis für Unternehmen, für Startups und Freiberufler ist er deutlich niedriger und für Studenten, Lehrer, Java-Champions und Open-Source-Entwickler ist er völlig kostenlos. IntelliJ IDEA beeindruckt durch sein tiefes Codeverständnis, intelligente Ergonomie, integrierte Entwicklungsfunktionen und mehrsprachige Unterstützung. Eclipse, NetBeans oder IntelliJ IDEA?  Auswahl einer IDE für die Java-Entwicklung – 3
Abbildung 1. IntelliJ IDEA zeigt die Anzahl der Warnungen und Vermutungen basierend auf einer statistischen Analyse von Java-Code. Sie können die Annahmen genauer studieren, indem Sie darauf klicken, wie im Bild gezeigt; In vielen Fällen erhalten Sie eine Liste mit Auswahl- und Korrekturmöglichkeiten.

Tiefes Verständnis des Codes

Syntaxhervorhebung und einfache Codevervollständigung sind für alle modernen Java-Editoren selbstverständlich. IDEA ging noch einen Schritt weiter und bot „intelligente Autovervollständigung“ an. Dieser Begriff bedeutet, dass die Entwicklungsumgebung eine Liste der relevantesten Symbole anzeigt, die in einem bestimmten Kontext anwendbar sind. Die Liste der Symbole hängt nicht nur vom Kontext als solchem, dem „allgemein akzeptierten“, ab, sondern auch vom Programmierstil des Entwicklers, davon, wie oft er bestimmte Operatoren verwendet. „Chain Completion“ zeigt sogar eine Liste der anwendbaren Symbole an, die durch Methoden oder Getter im aktuellen Kontext zulässig sind. Darüber hinaus fügt IDEA für statische Elemente oder Konstanten automatisch alle erforderlichen Importanweisungen hinzu. In allen Fällen der automatischen Vervollständigung versucht IDEA, den Typ des Symbols zur Laufzeit zu erraten, seine Auswahl zu verfeinern und bei Bedarf sogar eine Typumwandlung anzuwenden. Java-Code enthält oft Schnipsel aus anderen Sprachen als Strings. IDEA kann SQL-, XPath-, HTML-, CSS- oder JavaScript-Code in Java-String-Literale einfügen. In diesem Sinne kann die IDE Code in mehreren Sprachen umgestalten. Wenn Sie beispielsweise eine Klasse in einer JPA-Zuordnung umbenennen, aktualisiert IDEA die entsprechende JPA-Entität und Ausdrucksklasse. Beim Refactoring eines Teils des Codes hat der Entwickler einen (ganz natürlichen) Wunsch: dass alle Duplikate dieses Codes ebenfalls umgestaltet werden. IDEA Ultimate findet Duplikate und ähnliche Fragmente und wendet auch Refactoring auf diese an. IntelliJ IDEA analysiert Code beim Laden und direkt bei der Eingabe. Es weist auf vermutete Probleme hin (wie in unserem Bild oben) und bietet optional eine Liste wahrscheinlicher schneller Lösungen für die gefundenen Probleme.

Ergonomie

Eclipse, NetBeans oder IntelliJ IDEA?  Auswahl einer IDE für die Java-Entwicklung – 4IntelliJ IDEA ist so konzipiert, dass ein Entwickler nicht aus einem fließenden Produktivitätszustand geworfen wird, wenn er oder sie sich bereits darin befindet. Das im ersten Bild links gezeigte Projektfenster verschwindet mit einem einfachen Mausklick, sodass sich der Programmierer auf das Code-Editor-Fenster konzentrieren kann. Für alle Aktionen, die beim Schreiben von Code benötigt werden, gibt es Tastenkombinationen zum schnellen Aufruf, einschließlich der Definition von Symbolen in Popup-Fenstern. Anfangs sind all diese Kombinationen schwer zu merken, aber nach und nach gewöhnt man sich daran und verwendet sie nur noch. Doch auch wenn der Programmierer, wie die Praxis zeigt, keine Tastenkombinationen verwendet, gewöhnt er sich einfach und schnell an die Arbeit in IDEA. Besonders hervorheben möchte ich den IDEA-Debugger: Variablenwerte werden direkt im Editorfenster neben dem entsprechenden Quellcode angezeigt. Wenn sich der Status einer Variablen ändert, ändert sich auch die Hervorhebungsfarbe.

Eingebaute Werkzeuge

IntelliJ IDEA bietet eine einheitliche Schnittstelle zu den meisten Versionskontrollsystemen, einschließlich Git, SVN, Mercurial, CVS, Perforce und TFS. Sie können Änderungen direkt in der IDE verwalten, was sehr praktisch ist. Als ich IDEA testete, hatte ich den Wunsch, dass die letzte Änderung im Quellcode im Editorfenster als Anmerkung angezeigt wird (wie es beispielsweise in Visual Studio der Fall ist). Wie sich herausstellt, verfügt IDEA dafür über ein spezielles Plugin. IDEA verfügt außerdem über Build-Tools, eine Testlaufzeit, Coverage-Tools und ein integriertes Terminalfenster. IntelliJ verfügt über keinen eigenen Profiler, es können jedoch über Plugins solche von Drittanbietern angebunden werden. Zum Beispiel YourKit, erstellt von einem ehemaligen Hauptentwickler von JetBrains, oder VisualVM (eine neu gepackte Version des NetBeans-Profilers). Das Debuggen in Java kann mühsam sein, wenn mit Klassen, für die Sie keine Quelle haben, alle möglichen mysteriösen Dinge passieren. Für solche Fälle enthält IDEA einen Dekompiler. Die serverseitige Programmierung in Java erfordert eine häufige Interaktion mit Datenbanken, daher werden IDEA Ultimate-Programmierer den Komfort von Tools für die Arbeit mit SQL und Datenbanken zu schätzen wissen. Wenn ihre Fähigkeiten jedoch jemandem nicht ausreichen, können Sie die IDEA Ultimate-Version mit integrierter SQL-IDE (DataGrip) erwerben. Allerdings wird es etwas teurer sein als das reguläre IDEA Ultimate-Abonnement. IntelliJ IDEA unterstützt alle wichtigen JVM-Anwendungsserver und ermöglicht Ihnen die Bereitstellung und das Debuggen auf diesen Servern, wodurch die Schwierigkeiten beseitigt werden, die allen Java Enterprise-Programmierern bekannt sind. IDEA unterstützt auch Docker (über ein Plugin, das der Entwicklungsumgebung ein spezielles Docker-Toolfenster hinzufügt). IDEA verfügt übrigens über eine Menge Plugins.  

Ein echter Polyglott

IDEA hat die Codeunterstützung für Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS und andere Frameworks erweitert. Sie haben wahrscheinlich bemerkt, dass nicht alle davon Java-spezifisch sind. IDEA „versteht“ andere Sprachen sofort – Groovy, Kotlin, Scala, JavaScript, TypeScript und SQL. Wenn Sie die gesuchte Sprache in dieser Liste nicht finden, gibt es derzeit 19 IntelliJ-Sprach-Plugins, die speziell R, Elm und D unterstützen.

Eclipse-IDE

Eclipse, NetBeans oder IntelliJ IDEA?  Auswahl einer IDE für die Java-Entwicklung – 5 Vor etwa 10 Jahren antwortete ein Java-Entwickler auf die Frage nach der besten IDE selbstbewusst: Eclipse. Viele Jahre lang hielt diese Entwicklungsumgebung souverän die Spitzenposition unter den Java-IDEs. Diese Umgebung ist völlig kostenlos, Open Source und hauptsächlich in Java geschrieben. Aufgrund seiner modularen Architektur kann Eclipse jedoch auch mit anderen Sprachen verwendet werden. Das von IBM initiierte Eclipse-Projekt erschien im Jahr 2001. Sie wollten die auf Smalltalk basierende IBM Visual Age-Entwicklungsumgebungsfamilie ersetzen. Nun, das Hauptziel bestand, wie schon der Name vermuten lässt, darin, Microsoft Visual Studio (Eclipse bedeutet auf Englisch Sonnenfinsternis) in den Schatten zu stellen. Durch die Portabilität von Java wird Eclipse zu einer plattformübergreifenden Umgebung: Diese IDE läuft unter Linux, Mac OS X, Solaris und Windows. Im Guten wie im Schlechten ist das Java Standard Widget Toolkit (SWT) zumindest teilweise für das Erscheinungsbild von Eclipse verantwortlich. Eclipse verdankt seine Leistung (oder, wie einige Befürworter sagen, deren Fehlen) der JVM. Eclipse arbeitet recht langsam, da es auf ziemlich alter Hardware und alten Versionen der JVM basiert. Auch heute noch scheint es langsam zu sein, besonders wenn man viele Plugins daran anhängt. Ein Teil des Ressourcenaufwands von Eclipse ist auf den integrierten inkrementellen Compiler zurückzuführen, der immer dann ausgeführt wird, wenn eine Datei geladen oder Code aktualisiert wird. Das ist eine nützliche Sache; es erkennt Fehler bei der Texteingabe. Unabhängig vom Build verwaltet das Eclipse-Projekt ein Inhaltsmodell, das Informationen über die Hierarchie von Typen, Referenzen und Deklarationen von Java-Elementen enthält. Die aktuelle Version von Eclipse heißt Neon (4.6.0). Ich habe Eclipse Java EE IDE für Webentwickler installiert (dies ist nicht die einzige Option, Sie können etwas anderes wählen). Es enthält ein minimales Eclipse SDK und Plugins werden bei Bedarf hinzugefügt. Übrigens ist die Arbeit mit Plugins in dieser IDE nichts für schwache Nerven. Plugins von Drittanbietern stehen oft in Konflikt miteinander, obwohl ihre offiziellen Spezifikationen nichts darüber sagen. Eclipse, NetBeans oder IntelliJ IDEA?  Auswahl einer IDE für die Java-Entwicklung – 6
Abbildung 2. Von links nach rechts gibt es vier Eclipse-Symbolleisten: Paket-Explorer, Java-Editor, Java-Klassenstruktur und Aufgabenliste. Das in diesem Bild in Eclipse geladene Projekt ist das JUnit-Testframework. Die Panels können einfach ausgetauscht werden.

Plugin-Unterstützung

Das Plugin-Ökosystem von Eclipse ist sowohl die Stärke der IDE als auch eines ihrer Hauptprobleme. Aufgrund der Inkompatibilität von Plugins stürzen manchmal ganze Baugruppen ab und Programmierer müssen mit der Arbeit von vorne beginnen. Derzeit gibt es über 1.700 offizielle und inoffizielle Plugins für Eclipse, die möglicherweise großartig funktionieren oder auch nicht. Eclipse-Plugins unterstützen mehr als 100 Programmiersprachen und fast 200 Anwendungsentwicklungs-Frameworks. Die meisten Java-Server werden ebenfalls unterstützt: Wenn Sie eine neue Serververbindung von Eclipse aus festlegen, werden Sie zu einer Liste mit Herstellerordnern weitergeleitet, in der Sie etwa 30 Anwendungsserver finden. Alleine wird es bis zu neun Apache Tomcat-Varianten geben. Kommerzielle Anbieter neigen dazu, ihre Lösungen zu bündeln: Beispielsweise gibt es nur ein Red Hat JBoss Middleware-Element, und darin finden Sie WildFly- und EAP-Server-Tools sowie JBoss AS.

Bearbeiten, Refactoring und Debuggen

Ihre ersten Erfahrungen mit Eclipse können verwirrend und sogar verwirrend sein. Der erste Schritt besteht darin, Eclipse einzurichten und sich mit seiner konzeptionellen Architektur aus Arbeitsbereichen, Ansichten und Ansichten vertraut zu machen. Dies hängt alles von den Plugins ab, die Sie installiert haben. Für die serverseitige Java-Entwicklung werden Sie wahrscheinlich die Browseransichten Java, Java EE und Java, die Paket-Explorer-Ansicht, die Debugging-Ansicht, die Befehlssynchronisierungsansicht für Webtools, die Datenbankentwicklungsansicht und die Datenbank-Debugging-Ansicht verwenden. In der Praxis ergibt alles einen Sinn, wenn man die benötigten Fenster öffnet. Eclipse bietet fast immer mehrere Möglichkeiten, ein bestimmtes Problem zu lösen. Beispielsweise können Sie Code mithilfe der Java-Browsing-Perspektive anzeigen. Was man wählt, ist eine Frage des Geschmacks und der Wahl. Mit einer speziellen Java-Suche können Sie Deklarationen, Referenzen und Vorkommen von Java-Paketen, -Typen, -Methoden und -Feldern finden. Sie können auch den Schnellsuchzugriff und die Vorschau nutzen. Aus Codevorlagen können gängige Codemuster generiert werden. Java Refactoring in Eclipse unterstützt 23 Operationen, die von allgemeinen Umbenennungsoperationen bis hin zu weniger offensichtlichen Transformationen reichen (wie in Martin Fowlers Buch). Eclipse unterstützt sowohl lokales als auch Remote-Debugging, vorausgesetzt, Sie verwenden eine JVM, die Remote-Debugging unterstützt. Das Debuggen ist ziemlich normal: Sie definieren Haltepunkte und sehen sich dann die Variablen auf der Registerkarte „Debug“ an. Natürlich können Sie Ihren Code schrittweise durchgehen und Ausdrücke auswerten. Eclipse verfügt über eine umfangreiche Datenbank mit Dokumentationen unterschiedlichen Alters, unterschiedlichen Wertes und unterschiedlichen Nutzens. Leider kommt es bei dieser IDE häufig vor, dass in der Anleitung ein Bild gefunden wird, das nicht der aktuellen Version entspricht, beispielsweise mit einer veralteten Benutzeroberfläche und Tastenanordnung. Leider ist das Problem verspäteter Dokumentationsaktualisierungen bei allen Quellcodeprojekten weit verbreitet.

NetBeans

Eclipse, NetBeans oder IntelliJ IDEA?  Auswahl einer IDE für die Java-Entwicklung – 7NetBeans begann 1996 als Studentenprojekt in Prag. 1997 wurde die IDE zu einem kommerziellen Produkt, 1999 wurde sie von Sun Microsystems (den Eltern von Java) gekauft und im folgenden Jahr als Open-Source-Version veröffentlicht. Die aktuelle Version 8.1 läuft auf Rechnern mit Windows, Mac OS X, Linux und Solaris. Nun, das portable Paket kann auf jedem System ausgeführt werden, für das eine Java-Maschine existiert. Ich habe mir das Java EE-Bundle heruntergeladen, es ist eines von sechs möglichen Download-Paketen. Dieses Paket unterstützt JavaScript und HTML, GlassFish und Tomcat, nicht jedoch PHP, C/C++/Fortran, Groovy und Grails: Sie sind im „All Inclusive“-Paket (oder einfach „All“) erhältlich. Wenn ich möchte, kann ich jedoch jederzeit Unterstützung für die oben genannten Sprachen herunterladen, indem ich das entsprechende Plugin (oder ein anderes) auswähle. NetBeans hat weniger davon als Eclipse, aber sie stehen normalerweise nicht in Konflikt miteinander. In diesem Herbst beschloss Oracle (das NetBeans nach der Übernahme von Sun Microsystems erwarb), diese Entwicklungsumgebung zusammen mit allen Rechten, dem Quellcode, der Marke, der Domäne „netbeans.org“ und einer Reihe anderer Infrastruktur unter die Fittiche der Apache Software Foundation zu übertragen Elemente. Daher ist die Zukunft des Projekts noch unklar, obwohl das System zuvor über bestimmte entsprechende Privilegien verfügte. Somit war es NetBeans, das fast unmittelbar nach der Veröffentlichung der aktualisierten Plattform als erstes Unternehmen Unterstützung für Java 8 erhielt und als „offizielle IDE für Java 8“ bezeichnet wurde. Einen Monat nach der Veröffentlichung ging dieser Vorteil jedoch verloren: Zu diesem Zeitpunkt erhielten auch andere IDEs Unterstützung für Java 8. Ich möchte jedoch darauf hinweisen, dass die Java 8-Unterstützung von NetBeans wirklich gut ist und die IDE sich hervorragend zum Einbinden von Java 8-Tricks in „alten“ Code eignet. Seine Editoren, Code-Analysatoren und Konverter helfen dem Programmierer, den Code mithilfe der für Java 8 typischen Konstrukte zu aktualisieren – Lambda-Ausdrücke, Funktionsoperatoren und Methodenreferenzen. Die JavaScript-Plugins in NetBeans 8 leisten hervorragende Arbeit bei der Unterstützung von Node.js und den neuesten JavaScript-Tools wie Gulp und Mocha sowie bei der Unterstützung des Nashorn-JavaScript-Interpreters. Eclipse, NetBeans oder IntelliJ IDEA?  Auswahl einer IDE für die Java-Entwicklung – 8
Abbildung 3. Hier führt NetBeans dasselbe Maven-basierte Projekt aus, das IntelliJ IDEA in Abbildung 1 geöffnet hat. Beachten Sie die erweiterte Funktionalität im Kontextmenü und im Refactoring-Untermenü

Bearbeiten und Refactoring

Der NetBeans Editor unterstützt Sprachen, erkennt Fehler während der Eingabe und hilft Ihnen mit Tooltips und intelligenter Code-Vervollständigung. Dem subjektiven Empfinden nach bewältigt die IDE diese Aufgabe schneller als Eclipse, aber etwas langsamer als IntelliJ IDEA. Darüber hinaus verfügt NetBeans über eine umfassende Palette an Refactoring-Tools (wie in Abbildung 3 dargestellt), die es dem Programmierer ermöglichen, Code umzustrukturieren, ohne ihn zu beschädigen, eine Quellanalyse durchzuführen und außerdem eine Vielzahl von Hinweisen für schnelle Korrekturen oder Codeerweiterungen bereitzustellen. NetBeans enthält das GUI-Designtool Swing, früher bekannt als „Project Matisse“. Entwickler schätzen das in NetBeans 7.1 eingeführte automatisierte Refactoring-Tool Inspect & Transform sehr. Es ermöglicht Ihnen, den Projektcode zu analysieren und Verbesserungsvorschläge zu machen. Allerdings bevorzuge ich es persönlich, zuerst meinen gesamten eigenen Code mit Unit-Tests zu testen und erst dann Tools auszuführen, die radikale Änderungen vornehmen können. Ich habe immer wieder unter allerlei automatischen Korrekturen gelitten, die zu irreparablen Folgen führten.

Erstellen, Debuggen und Profilieren

NetBeans bietet hervorragende native Unterstützung für Maven und Ant sowie ein Plugin für Gradle. Ich war sehr froh, als ich entdeckte, dass Maven-Projekte vom System als „nativ“ behandelt wurden. Das bedeutet, dass sie einfach geöffnet und nicht importiert werden können. NetBeans enthält außerdem eine attraktive (und nützliche) grafische Anzeige für Maven-Abhängigkeiten. Der Java-Debugger von NetBeans ist nicht schlecht, weist jedoch einige Einschränkungen auf. Ein separater visueller Debugger ermöglicht es dem Programmierer, Screenshots der grafischen Benutzeroberfläche zu erstellen und die Schnittstellen von Anwendungen zu erkunden, die mit JavaFX und Swing erstellt wurden. Der NetBeans-Profiler macht deutlicher, wie CPU und Speicher genutzt werden, und verfügt über hervorragende Tools zum Auffinden von Speicherlecks.

Welche Java-IDE ist besser? Vergleich des Trios der Giganten

Ich habe im Laufe der Jahre alle drei IDEs, Eclipse, NetBeans und IntelliJ IDEA, in der aufgeführten chronologischen Reihenfolge verwendet. Jedes Mal, wenn ich zu einer anderen IDE wechselte, hatte ich das Gefühl, dass meine Produktivität zunahm. Aber auch wenn ich fest davon überzeugt war, dass IDEA meine endgültige Wahl war, musste ich manchmal zu einer der beiden verbleibenden IDEs zurückkehren. Dies war beispielsweise zu einer Zeit der Fall, als Eclipse das einzige Tool war, das die Android-Entwicklung unterstützte (heute gibt es Android Studio, die aktuelle offizielle IDE für Android, sie basiert auf IntelliJ IDEA). Natürlich haben alle drei IDEs ihre Fans und Kritiker. Ich kenne viele Java-Entwickler, die IntelliJ IDEA lieben, sowie treue Visual Studio C++- und C#-Fans. In den meisten Fällen sind diese Menschen mit der Tatsache zufrieden, dass ihre Produktivität gestiegen ist und die Kosten für das Jahresabonnement bereits nach wenigen Wochen der Nutzung der kostenpflichtigen Version von IDEA zurückerstattet werden. Allerdings hängen auch NetBeans- und Eclipse-Nutzer oft an ihren Tools und fragen sich, warum andere Programmierer bereit sind, Geld für IDEA zu zahlen. Ich würde neuen Java-Entwicklern raten, sich von Eclipse fernzuhalten. Obwohl es immer noch die beliebteste IDE für Java ist, ist es für Anfänger schwierig: Es ist leicht, sich in der Wildnis von Eclipse zu verirren, sowohl bei der Systembereitstellung als auch bei der täglichen Arbeit. Eclipse verfügt über das umfangreichste Plugin-Ökosystem aller IDEs und stürzt am häufigsten aufgrund der Installation eines inkompatiblen Satzes dieser Plugins ab. Leider musste ich während der Verwendung von Eclipse wiederholt eine weitere defekte Baugruppe dieser IDE entfernen und ein „sauberes“ Bundle installieren. NetBeans ist für die meisten Entwickler gut, es verfügt über einen großartigen Profiler und ich verwende ihn manchmal. Allerdings zahle ich lieber für IntelliJ IDEA Ultimate. Und die Zukunft von NetBeans ist noch unklar. Für neue Java-Entwickler, die noch nicht über das Budget für den Kauf von Tools verfügen, empfehle ich je nach Bedarf die Verwendung von NetBeans oder IntelliJ IDEA Community Edition. Die erste Option lohnt sich für diejenigen, die Java-Server programmieren, aber nur, wenn Sie nicht in die Kategorie derjenigen fallen, die IntelliJ IDEA Ultimate kostenlos oder mit einem großen Rabatt erhalten können (Studenten oder Programmierer, die Open Source entwickeln). Projekt).

„Leichte“ Java-IDE

Heutzutage verwenden die meisten Java-Entwickler IDEA, NetBeans oder Eclipse, aber manchmal besteht Bedarf an einfacheren Entwicklungsumgebungen oder sogar Code-Editoren wie Sublime Text, Emacs oder Vim, die Java-Plugins unterstützen. Ich habe unten vernünftige Optionen für diejenigen aufgelistet, die etwas Leichteres suchen:
  • DrJava — небольшая бесплатная среда разработки. Её создали для студентов Университета Райса, и она стала довольно популярной: DrJava загрузoder уже более 2 млн раз. DrJava призвана развивать разработку, основанную на тестировании (test-driven development). Среда содержит «умный» редактор Codeа, панель взаимодействия для оценки Codeа Anwendungen, отладчик уровня источника и инструменты модульного тестирования.
  • BlueJ бесплатная среда разработки Java, созданная специалистами Кентского университета для начинающих программистов. Эта среда поддерживается Oracle. BlueJ отличается гораздо более лаконичным и простым интерфейсом, чем профессиональные IDE, такие, Wie NetBeans oder Eclipse, и даже содержит специальный учебник по основам ООП.
  • JCreator — ещё одна небольшая Java IDE для Windows, написанная на C++ (из соображений увеличения производительности). Платная Ausführung Pro оснащена отладчиком, поддержкой Ant и code wizards, ну а бесплатная Ausführung (LE) — нет.
  • Eclipse Che — браузерная облачная IDE: Java, C++, JavaScript, Python, PHP, Ruby и SQL — список языков, которые она поддерживает. .

Выбор Java IDE в зависимости от проекта

Ich habe versucht, die wichtigen Vorteile jeder der drei wichtigsten Java-IDEs zu beschreiben und kurz ihre nützlichen kleinen Konkurrenten erwähnt. Um die richtige Java-Entwicklungsumgebung auszuwählen, müssen Sie die Vor- und Nachteile abwägen und diese mit Ihren Anforderungen und den Anforderungen Ihrer Projekte abgleichen. Wenn Sie einem Team beitreten, ist es eine gute Idee, dieselbe IDE wie andere Entwickler zu verwenden, obwohl dies nicht erforderlich ist. Wenn Ihr Team Quellen auf GitHub hostet, ist es natürlich bequemer, wenn Ihre IDE GitHub unterstützt. Ja, Sie können die Codeübertragung ohne IDE mithilfe des GitHub-Clients oder der Git-Befehlszeile durchführen. Doch wie effektiv werden solche Sprünge zwischen verschiedenen Systemen sein? Wichtig ist auch, dass die IDE das Buildsystem unterstützt. Wenn es sich beispielsweise um Maven handelt, ist es unwahrscheinlich, dass Sie das System für lokale Tests in Ant neu erstellen möchten. Glücklicherweise unterstützen alle drei großen Java-IDEs Ant, Maven und Gradle, entweder sofort einsatzbereit oder mit einem Plugin. Für „kleine“ IDEs trifft dies jedoch möglicherweise nicht zu. Es ist ein natürlicher Wunsch, dass die Entwicklungsumgebung die im Projekt verwendete Version der JRE unterstützt. Wenn die Versionen nicht übereinstimmen, besteht eine hohe Wahrscheinlichkeit, dass viele zusätzliche Fehler auftreten, die beispielsweise bei Ihnen auftreten, bei anderen Teammitgliedern jedoch nicht. Es ist unwahrscheinlich, dass sich eine solche Situation positiv auf Ihr Karma auswirkt. Ehrlich gesagt ist es wahrscheinlicher, dass JRE-Inkonsistenzen aufgrund von Konfigurationsfehlern auftreten als aufgrund mangelnder IDE-Unterstützung, es sei denn, die IDE wurde noch nicht auf eine neue Java-Version aktualisiert. Glauben Sie einfach, dass die Arbeit wirklich beschleunigt werden kann, wenn Ihre IDE die im Projekt verwendeten Frameworks und Technologien vollständig unterstützt. Du wirst es höchstwahrscheinlich sowieso schaffen. Wenn die IDE jedoch versteht, wie sich JPA-Anweisungen auf JPA-Entitäts- und Ausdrucksklassen (wie IntelliJ) beziehen, werden Sie viel weniger Zeit mit JPA-bezogenem Code verbringen, als wenn Sie das völlig falsch verstehen. Wenn die IDE das Test-Framework und den für das Projekt verwendeten Code-Executor unterstützt, können Sie Tests ausführen, ohne die Arbeitsumgebung zu ändern. Dadurch wird auch der Entwicklungsprozess beschleunigt. Schließlich geht die Arbeit schneller vonstatten, wenn die IDE mit dem Fehlerverfolgungs- und Ticketsystem des Projekts kompatibel ist. Auch hier können Sie einen Standalone- oder Web-Client, beispielsweise JIRA, verwenden, aber man kann kaum widersprechen, dass die Überprüfung von Tickets viel schneller geht, ohne das Fenster zu wechseln und dabei direkt in der IDE zu bleiben.

Kostenlos oder kostenpflichtig?

Nachdem ich IntelliJ IDEA Ultimate getestet hatte, bekam ich das Gefühl für die richtige Entwicklungsumgebung. Eine Art Cadillac der IDE-Welt. Ich kann nicht eindeutig sagen, dass IDEA die beste IDE für Java ist, aber für mich ist das der Fall. Auch wenn es nicht kostenlos ist, denke ich, dass die Produktivitätsgewinne, die sich aus der Nutzung ergeben, das Jahresabonnement wert sind. Für Anfänger, die sich kein IntelliJ IDEA Ultimate-Jahresabonnement leisten können, empfehle ich die Verwendung von NetBeans anstelle von Eclipse. Natürlich ist das Ökosystem der Eclipse-Plugins heute viel weiter entwickelt als das jeder anderen IDE, aber es ist sehr überwuchert und ungepflegt: Ein unerfahrener Entwickler läuft Gefahr, im IDE-Dschungel stecken zu bleiben, Java und das Eintauchen in die Arbeit treten in den Hintergrund . ging auch auf „leichte“ Alternativen ein, von denen zwei speziell für Bildungszwecke entwickelt wurden. Nun, wenn Sie gerade erst anfangen, Sprachen zu lernen und eine minimalistische Umgebung bevorzugen, warum nicht?
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION