Frage:
IntelliJ IDEA vs Eclipse vs NetBeans für die Entwicklung von "reinem Java"
leventov
2014-02-05 11:28:00 UTC
view on stackexchange narkive permalink

Wichtiger Hinweis zur privaten Beta: Dies ist eine Testfrage für diesen Vorschlag zu Meta: Befürwortung von „X vs Y“ -Fragen.

Natürlich sind IntelliJ IDEA, Eclipse und NetBeans hervorragende plattformübergreifende IDEs mit einer Vielzahl von Funktionen und zahlreichen Plugins für alle Anforderungen. Ich weiß, dass es erhebliche Unterschiede zwischen ihnen für die Entwicklung von Java EE (IntellJ ist nicht kostenlos ) und Android (IntelliJ-gestütztes Android Studio wird von Google betrieben und scheint ein neuer Standard zu werden) gibt.

Aber die Wahl ist schwieriger, wenn ich "reine Java" -Software entwickle. Welche einzigartigen Vorteile hat jede dieser IDEs, die mich dazu veranlassen könnten, sie zu verwenden?

Ich würde sagen, diese Frage ist zu weit gefasst, wenn Sie Ihre Anforderungen nicht genauer beschreiben. Sie können so viele Dinge rund um "pure java" tun. Wie wäre es mit einer Frage wie "Welcher Editor bietet an, JARs beim automatischen Vervollständigen automatisch von einem Maven-Repo herunterzuladen und zu importieren?"
@NicolasRaoul bitte lesen Sie meine Antwort auf Meta. Ich könnte Tonnen von Anforderungen auflisten, aber all diese IDEs erfüllen sie alle. Es hilft nicht, Java IDE zu wählen.
Würden Sie uns Ihr Betriebssystem mitteilen? Obwohl alle von Ihnen aufgelisteten IDEs plattformübergreifend sind, verhalten sie sich unter verschiedenen Betriebssystemen nicht gleich, hauptsächlich in Bezug auf Leistung und Stabilität
@IvayloSlavov meine eigene Plattform ist Linux, aber ich möchte die Frage nicht lokalisieren. ich. e. Ihre Antwort könnte so aussehen: "IDE X ist besser als die Konkurrenz auf Plaftorm Y, weil ..."
Bis darüber das Metathema vollständig besprochen ist, halte ich es nicht für angebracht, zum Abschluss abzustimmen
Einer antworten:
#1
+14
Ivaylo Slavov
2014-02-05 15:29:39 UTC
view on stackexchange narkive permalink

Als Java-Softwareentwickler würde ich gerne meine persönlichen Erfahrungen mit Ihnen teilen. Zunächst muss ich erwähnen, dass alle meine Erfahrungen mit den oben genannten IDEs auf einer Linux-Plattform liegen, aber ich habe gesehen, dass dies für dieses Betriebssystem gilt ist nicht dasselbe wie für Windows oder MAC. Unter Berücksichtigung Ihrer "reinen Java" -Einschränkung werde ich auch nicht auf Funktionen eingehen, die sich auf andere Sprachen / Frameworks usw. beziehen, die möglicherweise unterstützt werden. Also los geht's:

Eclipse

Die guten Dinge an dieser IDE sind:

  • die optisch ansprechendsten Eine der drei persönlichen Meinungen
  • einfache Quellcode-Navigation
  • Die Navigation zwischen Maven Pom-Dateien enthält beim Klicken auf Abhängigkeiten Info-Tooltips
  • Gute Arbeitsbereichsstruktur, ermöglicht das Erstellen von Arbeitssätzen - Gruppen von Projekten innerhalb eines Arbeitsbereichs, sodass man sich eher auf einen konkreten Arbeitssatz als auf den gesamten Arbeitsbereich konzentrieren kann.
  • ausgezeichnetes Debuggen
  • mehrere Perspektiven (dedizierte Sprachentwicklung wie Java, Spring, JavaScript, Debug-Perspektive usw.). Jede Perspektive hat ihre eigenen Einstellungen für Ansichten, Position von Fenstern und Werkzeugen usw., die von der IDE automatisch gespeichert werden. Für mich ist dies ein wertvoller Vorteil, obwohl die Konfiguration nur pro Arbeitsbereich verwaltet wird.
  • ermöglicht das einfache Importieren und Debuggen von Quellcode von Drittanbietern. Manchmal muss der Code manuell heruntergeladen werden, aber der Rest finde ich einfach genug.

Nachteile:

  • Das Laden ist langsam , ungeschickt bei Interaktionen. Mit zusätzlichen Plugins wird es langsamer.
  • stürzt häufig ab, insbesondere unter Linux (Windows-Versionen sind zuverlässiger). Es ist gut, es in wenigen Tagen neu zu starten.
  • unter Linux, Versionen höher als 3.0, verzögern sich einige Sekunden, bevor eine Markup-Datei (XML, JSF) geöffnet wird, was sehr kontraproduktiv ist.
  • Versionen unter 3.0 haben nicht das oben genannte Markup-Problem, unterstützen jedoch keine Java 1.7-Syntaxfunktionen (z. B. die kurzen Generika).
  • JSF fehlt die automatische Funktion Fertigstellung
    • Mac-Versionen haben inkonsistente Konventionen für Verknüpfungen. Ein Teil von ihnen verwendet die Kombination Strg +? , andere die FN +? . Benutzer, die mit der IDE auf anderen Betriebssystemen vertraut sind, sind zunächst frustriert.
    • Das Verschieben von Dateien über Pakete / Projekte hinweg kann schmerzhaft sein, da das Kopieren (Ausschneiden) / Einfügen manchmal nicht der Fall ist Arbeit, ziehen Sie einfach & drop

    • plötzliches Einfrieren bei automatischer Vervollständigung, behoben nur durch Neustart der IDE (könnte durch Minimieren und Wiederherstellen umgangen werden, aber die Menübefehle und Verwandte Tastaturkürzel funktionieren nicht mehr - dh sie können Dateien bearbeiten, aber nicht speichern. Das Kopieren und Einfügen in einen externen Editor ist jedoch möglich.

    • Interne IDE-Taskprozesse sind nicht zuverlässig. Mögliches Hängenbleiben, Unfähigkeit zu stoppen oder sogar Deadlocking, wenn mehrere Aufgaben mit gemeinsam genutzten Ressourcen gestartet werden (z. B. mehrmaliges Aktualisieren des SVN-Repositorys, was mehr als einen Aktualisierungsprozess verursacht).

    IntelliJ IDEA

    Ich habe Erfahrung mit dieser IDE nur unter Linux. Vielleicht gibt es auf anderen Plattformen Unterschiede, die mir fehlen könnten.

    Vorteile:

    • intuitiv zu bedienende
    • hervorragende Code-Navigation
    • Unterstützung für Eclipse-Projekte (sie können als IDEA-Projekte importiert werden)
    • Hervorragendes und ausführliches Refactoring
    • , das über das Kontextmenü (eine Funktion, die mir in Eclipse fehlt) über die Projektansicht auf den Dateisystemspeicherort einer Datei zugreifen kann

    Nachteile

    • für Spring-XML-Kontexte werden nicht alle Attribute erkannt, obwohl die importierten XML-Schemas abgerufen wurden. Das eigentliche Problem ist die Fehlerhervorhebung, die unerfahrene Entwickler
    verwirren kann
  • Arbeiten mit Subversion (Überprüfen und Synchronisieren von Änderungen) nicht so intuitiv wie in Eclipse
  • Falsche Fehlersyntaxfarbe in pom.xml-Dateien, wenn Maven-Eigenschaften anstelle von Literalen für Abhängigkeiten (wie die Version) verwendet werden Nummer und etc). Dies kann unerfahrene Personen verwirren.
  • NetBeans

    Der Vorteil, den ich mir vorstellen kann:

    • Für die Webentwicklung verfügt es über einen eingebetteten Server, der das Hosten einer Webanwendung für Debug-Zwecke erleichtert, ohne einen externen Server einzurichten und auf diesem bereitzustellen.

    Nachteil:

  • langsame Ladezeit
  • Ich habe in der Vergangenheit NetBeans verwendet und es Eclipse vorgezogen, da es zu diesem Zeitpunkt mehr war stabil und verbraucht weniger Ressourcen. Aber dann benutzte ich es, um meine Hausaufgaben an der Universität zu machen. Ich habe diese IDE nicht professionell verwendet , da meine Arbeitsumgebungen die oben genannten Optionen für Java bevorzugten, daher würde ich mich nicht auf Vergleiche einlassen.

    Meine persönliche Wahl wird wie ich in Richtung Eclipse gewichtet bin damit besser vertraut, obwohl es viel mehr Nachteile hat. Ich bevorzuge es wegen seiner Fähigkeit, den Arbeitsbereich zu organisieren und mich besser auf die aktuelle Aufgabe konzentrieren zu können. Wie gesagt, die verschiedenen Perspektiven helfen sehr, da ich jede so konfiguriert habe, dass sie für die konkrete Aufgabe, an der ich arbeite, am besten geeignet ist. Ich mag auch die ausführliche Ausgabe von Subversion, da es für mich wichtig ist, meine Commits / Updates richtig zu verfolgen.

    IntelliJ IDEA macht es mir leicht, mich daran anzupassen, obwohl es in der Tat weniger aufdringlich und intelligent ist. Es erkennt automatisch mehrere Projekttypen und fragt Sie im Moment, ob etwas zusätzliche Konfiguration benötigt. Wenn Sie beispielsweise ein Maven-Projekt importieren und das Maven-Ausgangsverzeichnis nicht eingerichtet ist, werden Sie danach gefragt, wenn Sie versuchen, Maven-bezogene Aufgaben auszuführen, und sich an Ihre Wahl erinnern. Offensichtlich versucht die IDE, Sie bei der Konfiguration und Verwendung zu unterstützen. In Kombination mit seiner Stabilität und Reaktionsfähigkeit (im Vergleich zu Eclipse) fühlt es sich als viel zuverlässigere Umgebung an. Ich muss zugeben, dass ich mich nicht eingehend mit der Anpassung befasst habe, aber es ist ein Kandidat, um meine IDE der Wahl zu werden.

    Bitte versuchen Sie, sich auf Unterschiede zu konzentrieren. Zum Beispiel muss nicht erwähnt werden, dass alle diese IDEs kostenlos sind und viel Speicher verbrauchen (das ist Java). Machen Sie die wichtigsten Punkte * kursiv *.
    @leventov ok, ich habe das Speichermaterial entfernt und betont, was ich für wichtig halte
    Alle genannten IDEs unterstützen Plugins. http://plugins.jetbrains.com/?idea_ce
    @MariuszS ja, das ist so. Ich habe dies anscheinend für IntelliJ Idea verpasst, das jetzt behoben wurde
    Ich denke, Sie sollten Plugin-Informationen entfernen, alle IDEs sind hier ähnlich.
    @MariuszS, habe ich getan, aber ich habe anscheinend vergessen zu schreiben.


    Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
    Loading...