tifyty

pure Java, what else ?

Eclipse vs. NetBeans

A Sonar és a csek sztájl esete kapcsán kérdezte meg sarkiroka, hogy

és eclipse vs netbeans összehasonlításra mit mondanál, ha az nem opció, hogy nem lehet összehasonlítani őket?

Szóval falhoz lettem állítva: nem tehetem meg, hogy ne hasonlítsam össze őket. Akkor viszont megér egy posztot, mert ez egy olyan téma, ami elég személyes, főleg véleményeket lehet megfogalmazni a cikkben, és valószínű, hogy lesz sok komment. Főleg, mivel olyan téma amihez annyira nem értek, így még az is előfordulhat, hogy hülyeségeket írok össze vissza.

Felület

Én magam NetBeans-szel kezdtem a Java fejlesztést, és csak később tértem át Eclipse használatra, főleg kíváncsiságból. Az első lényeges különbség, ami szembetűnik, főleg annak aki Windows-on fejleszt, hogy az Eclipse felülete sokkal natívabb. Nem meglepő, hiszem amíg a NetBeans swinget használ addig az Eclipse SWT-t, ami annyi mindent használ a natív window rétegből amennyit csak lehet. Ennek megfelelően natív implementáció szükséges minden egyes platformra, különben nem működik, viszont van mindenre. Sokan talán nem is realizálják, hogy mennyire fontos, hogy amivel nap, mint nap dolgozunk ergonomikus legyen. Egy szoftver grafikus felülete pedig mindenképpen ide tartozik, és ebben az Eclipse jobb.

Pilótavizsga

A második dolog, hogy egy kezdő számára a NetBeans egyszerű, mint egy faék, az Eclipse meg meg sem szólal, nem tudja, hogy hova nyúljon: pilótavizsga kell hozzá. Amikor naponta használod akkor már ez nem tűnik fel és talán nem is emlékszel rá. De az elején így van: ha csak elindítod, akkor nagyon nem érted, hogy hova kellene nyúlni. Olyan, mint az első szex. De utána már sokkal jobb, mint a NetBeans, legalábbis funkcionálisan, sokkal többet tud.

Repülő versus Autó

És ha pilótavizsga kell hozzá, akkor persze elvárható, hogy repüljön. És repül is. Nagyon sok plugin létezik hozzá, és ezekkel nagyon sok olyasmit tud, amint a Netbeans nem tud. Ha csak azt nézzük, hogy a google a “netbeans plugin” keresésre 3 millió találatot ad, míg az “eclipse plugin”-re 11 milliót: látszik a különbség. Én többet vártam, de ez sem elhanyagolható.

Build Ant vs. maven

A Netbeans és az Eclipse is tud ANT-tal buildelni, de a NetBeans elég natívan kezeli a maven-t is, míg az Eclipse-nek plugin kell hozzá. Valójában az Eclipse a maven-os projektek esetén (meg talán az ant-os projektek esetén sem) a külső built tool-lal fordít, hanem csak feldolgozza a megfelelő plugin, hogy megértse egy fordítás során mit kell csinálni, és utána ezt a saját belső build rendszerével lejátssza. Ennek az a következménye, hogy nem árt frissíteni a build dependenciákat, amikor a build fájl módosul. Hogy ant esetében ez mit jelent nem tudom, mert sosem raktam ösze ant-os projektet. Maven esetében a maven plugin “refresh dependencies” (vagy valami hasonló) menüt kell futtatni, és akkor szépen újra értékeli, hogy a build során mit és hogyan.

Persze el lehet indítani Eclipse-ből is a külső ant-ot vagy maven-t, de ez nem az amit az Eclipse szeret. És a kérdés, hogy miért? Mert elég körülményesnek tűnik a dolog a NetBeans-hez képest. Az Eclise nem is a standard java fordítót használja, hanem egy saját módosítottat, amelyikkel inkrementális fordítást lehet csinálni és így akár még arra is képes (csodákra persze nem), hogy debug közben a módosított forrás alapján folytassa a már futó processz-t. Mágikus, de nem az, csak rocket science.

Összefoglaló

Kezdőként használd a NetBeans-t, mert sokkal hamarabb jutsz vele dűlőre, és használd amíg megfelelő. Nagyvállalati profi környezetben viszont kicsi az esélyed, hogy egy életen át megúszd Eclipse nélkül. Jelenleg az a de-facto IDE standard, rád fogják kényszeríteni. Ha igazi guru vagy, akkor meg IntelliJ.

13 responses to “Eclipse vs. NetBeans

  1. mig8 július 4, 2014 1:15 du.

    Bocs, de kis tárgyi tévedés: az Eclipse tudja kezelni a Maven-t, legalábbis a Kepler (4.2) óta. Persze meg lehet adni azt is neki, hogy ne a sajátját, hanem az általunk letöltöttet használja. Ettől még mondjuk számos plugin van hozzá, amivel a Maven használatát még könnyebbé tehetjük.

    • Peter Verhas július 4, 2014 1:32 du.

      Amennyire látom, annyi történt, hogy benne van alapból a plugin. De nem a maven-t használja a fordításhoz, mert amikor lényegesen módosítom a POM fájlt, akkor meg kell mondanom az Eclipse-nek, hogy frissítse a saját belső builder konfigurációját. Amikor teljes fordítást csinálok, akkor futtathatom akülső maven-t (vagy bármi mást, hiszen az külső program), vagy a beépítettet RunAs menüvel.

      • mig8 július 7, 2014 9:59 de.

        @Péter: Á, szóval nem teljes értékű a belső Mavenje. Hát ez szomorú 😦 Mondjuk én mindig a külsőt állítottam be neki… De most már legalább nem kell külön plugint letölteni hozzá 😉

  2. mig8 július 4, 2014 1:17 du.

    Na és akkor most lehetne egy Eclipse vs IDEA összehasonlítás? 🙂

    • Peter Verhas július 4, 2014 1:32 du.

      Csak ha valaki megírja, mert én nem értek eléggé egyikhez sem. De főleg az IntelliJ-hez. Vagy az IDEA-hoz?

      • mig8 július 7, 2014 10:01 de.

        😀 Ez volt a bajom nekem is, hogy külső segítség nélkül megkukultam az IDEA rejtelmeiben… Mindenesetre megpróbálok felhajtani egy gurut.

        • Gábor Garami (@hron84) augusztus 15, 2014 1:32 de.

          Hat alapszinten tudok segiteni neked, konkretan az IDEA-val keveset dolgozok, annal tobbet a RubyMine-nal, de azert ismerem a Java fejlesztesi metodika alapjait az IDEA-ban.

          Ha mar Maven; az IDEA teljesen transzparens modon kezeli a pom.xml valtozasait, integralodik a Mavennel (bar asszem neki is sajat build rendszere van, de hasznalja a Maven-t is a forditas soran, nem csak kitalalja, hogy mit-merre), az osszes olyan XML-hez direkt completionja van, amihez van XSD, a pom.xml eseteben ennel tovabb megy, es a pluginok konfiguraciojat is kepes completion listbe osszeszedni. Termeszetesen a group/artifact azonositokat megfeleloen frissitett repoinfok mellett szinten kiegesziti. Plusz hihetetlenul intelligens kiegeszitese van neki, a “cggson” beirasara a “com.google.gson” talalatot (is) adja (nem tudom, mi a neve az ilyen fajta completionnek), es ezt a projektkeresoben is tudja, a NPE-re keresve ra tud talalni a NullPointerException.java -ra is. Plusz, kepes osztalyt is keresni, nem csak fajlt.

          Oke, abbahagyom, kommentben nem irunk cikket. Ha lesz idom/energiam, osszeszedek egy gyorstalpalot IDEA-hoz, bemutatva (NetBeans-hez kepest) a kepessegeit.

          • Bence Sarosi december 14, 2014 4:22 du.

            Engem is inkább egy Eclipse-szel szembeni összehasonlítás érdekelne (Péter cikkével ellentétben – elnézést, Péter – vegyük bele a performancia kérdését is, ha lehet). Amit eddig leírtál a kommentedben, azt az Eclipse is tudja, leszámítva az pom.xml automatikus követését (amit egyszerűen nem értek, miért nem fejlesztettek még bele a pluginbe). Szerintem sokakkal igen jót cselekedne, aki összeszedne egy ilyen cikket.

    • donquixotee július 6, 2014 9:54 du.

      Nagyon érdekelne egy ilyen összehasonlítás! A kollégák kb. fele áttért az IntelliJ-re és javasolták a váltást. Valahogy nincs kedvem megtanulni egy új IDE-t mivel évek óta használok Eclipse-t és végre minden (na jó, inkább csak sok 😉 ) feature-jét megtanultam. Az indoklás a váltás mellett, hogy az IntelliJ sokkal gyorsabb, maven projektek zökkenőmentesen integrálhatóak, szép fekete ui (ez már jött a Luna-val is) stb…
      Na ez a ‘stb’ kellene, hogy meggyőzzön a váltásról (vagy a nem váltásról).

      • Gábor Garami (@hron84) augusztus 15, 2014 1:35 de.

        Az IntelliJ IDEA-ban (nem tudom mar melyik az igazi neve, tovabbiakban IDEA) az a jo, hogy egyaltalan nem kell tanulni a feluletet. En NetBeansrol tertem at, es nagyon intuitiv, latszik, hogy akik fejlesztik, nagyon sokat hasznaljak. Kezdj el benne csinalni egy pici SE projektet (szamologep, vagy valami konzolos stuff, barmi jo lehet), vagy tolj vegig egy Springes tutorialt es mar megtanultad alapszinten kezelni, a tobbire pedig ra lehet lelni a helpben vagy csak kattintgatva a feluleten.

  3. mig8 augusztus 18, 2014 1:43 du.

    Nekem az IDEA QA eszközei tetszenek, az Eclipse-é fele ilyen jók. Csak hozzáadod a plugineket és máris működnek, ráadásul a default beállításaik is általában megfelelnek. Azért ezt az Eclipse még nem tudja…

    És a legjobb: észreveszi a JS problémákat is, ami meg Eclipse-ben nagyon gyerekcipőben jár még. Legalábbis nem találtam hozzá jó plugint.

  4. szilsan szeptember 16, 2014 4:50 du.

    Nekem ami IDEA-ban ill. netbeans-ben nagyon hianyzik eclipse-hez kepest, azok a billentyukombinaciok. IDEAra azt irtak, hogy ez egy alap benne, hogy erre van kihegyezve… nekem eclipse-hez kepest szegenyes. De lehet nekem nincs meg meg a megfelelo IDEA tudasom 🙂

    Mas, amirol szivesen olvasnek: ant vs maven vs GRADLE. kezd divatos lenni, olvastam most rola jopar cikket, osszehasonlitast. hasznalja valaki elesben? Uj projekt/migralt/gradle maven plugin? Mik a tapasztalatok vele? Groovy-t nem ismerem igazan, fazok tole…

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: