tifyty

pure Java, what else ?

Havi archívumok: július 2014

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.