Fejlesztői környezetek – mikor melyiket érdemes használni?
Mik is azok az integrált fejlesztői környezetek?
Az integrált fejlesztői környezetek vagy röviden IDE-k (Integrated Development Environment) alkalmazások, melyek jelentősen megkönnyítik és meggyorsítják a szoftverfejlesztést.
Programot írni bármilyen egyszerű szövegszerkesztőben lehet a megfelelő kódszavak egymás után írásával. Viszont léteznek úgynevezett integrált fejlesztői környezetek, azaz IDE-k (Integrated Development Environment), amelyek olyan szövegszerkesztő programok, amik segítenek a szoftver megírásában. Sok módon nyújtanak segítséget: például automatikus kódkiegészítésekkel, ami egy adott kulcsszó első néhány karakterének begépelése után felajánlja az azzal kezdődő kulcsszavakat, amik közül már csak választanunk kell. Ezen kívül rengeteg más módon is asszisztálnak téged a fejlesztésben. Ez a segítség olyan széleskörű, hogy nem is érdemes IDE nélküli kódolásban gondolkodnod.
Java fejlesztéshez több IDE is elérhető, ezek közül több ingyenes. Az ingyenes megoldások közé tartoznak például a következők: Eclipse, NetBeans, IntelliJ IDEA (Community Edition). Az Eclipse-nek és az IntelliJ IDEA-nak vannak fizetős licenszei, amik további bővítményekkel tovább egyszerűsítik a programozók életét bizonyos programozási feladatoknál.
Kezdőként neked az ingyenes változatok bőségesen elegendők lesznek. Sok cég éles projektek fejlesztésére is az ingyenes változatokat használja, mert igazából minden fontos aspektusát kezelik a kódolásnak. Ha már haladó szinten tartasz, akkor érdemes lesz szemügyre venned a fizetős licenszű IDE-ket, és újraértékelned, hogy nyújtanak-e valami olyan többletet, ami egyszerűsíti az életed.
A következőkben nézzünk meg párat azokból az előnyökből, amit egy IDE nyújt nekünk.
- Ismeri a nyelv szintaxisát: az integrált fejlesztői környezetek ismerik a nyelv jellegzetességeit. Miért jó ez? Két dolog miatt is: egyrészt könnyedén kiszűri a hibákat, másrészt optimalizációs javaslatokkal tud élni a tisztább kód elérése érdekében.
- Tudja futtatni a projektet: minden környezet tartalmaz mindent, ami a program lefordításához és futtatásához szükséges. Tartalmaz egy fordítót (compiler / interpreter) és tartalmazza a futtatási környezetet (runtime environment). Ezenkívül tartalmaz debugger-t is, ami a hibák feltárását segíti.
- Támogatja a verziókezelést: egy modern környezet felhasználói felülettel támogatja a legkorszerűbb verziókezelő rendszerek (Git, SVN, TFS, …) valamelyikét, ezzel felgyorsítva a verziókezelés folyamatát. Természetesen a verziókezelés parancssorból is megvalósítható. Az viszont mindenképp fel tudja gyorsítani a munkát, ha nem minden parancsot parancssorból kell bepötyögni.
- Sablonokat tartalmaz: egy IDE rengeteg sablont (template) tartalmaz, ami az automatizálható dolgokat automatikusan végrehajtja. Ez több száz sornyi kódot és több órányi felesleges munkát takarít meg a számunkra.
- Rengeteg további dolgot támogat: egy modern IDE rengeteg egyéb dolgot támogat (adatmodellezés, unit tesztelés és számos egyéb funkció).
- Teljesen testre szabható: mindezeken túl egy modern fejlesztői környezet igényeid szerint testre szabható. Rengeteg beállítás és letölthető plugin segít abban, hogy a lehető legkényelmesebben és leghatékonyabban tudjunk dolgozni.
Java integrált fejlesztői környezetek – melyiket válasszam?
A legnépszerűbb ingyenes elérhető Java integrált fejlesztői környezetek az IntelliJ IDEA Community Edition, az Eclipse és az ezeknél jóval kisebb és nehézkesebb Netbeans. Az, hogy a programozó melyiket választja, egyrészt „vallási” kérdés: hiszen mindegyikük azért van a piacon, mert hatékonyan lehet velük dolgozni.
Ha a jövőben alkalmazottként szeretnél dolgozni, a munkaadód is jó eséllyel megmondja, hogy melyik IDE-t használd, mert ha valami probléma adódik a környezettel, amit hirtelen meg kell oldani, akkor így könnyebben tudtok egymásnak segíteni. Lehetséges az is, hogy előfizetnek neked egy fizetős verzióra, mert a fejlesztéshez szükségesek azok a funkciók, amiket az tartalmaz.
Az IntelliJ IDEA eredetileg Android programozásra készült, később beleépítették az összes keretrendszer használatának lehetőségét. Akik szeretik, általában azt mondják, hogy a kódfelismerő funckiója intelligensebb, mint a piacon lévő többi IDE-é. Sokan azt írják, hogy ha szeretnél fizetni, akkor valóban az IntelliJ IDEA szoftvere a legjobb, de ingyenes megoldások közül az Eclipse-t ajánlják. Egyrészt azért, mert rendkívül alacsony a gépigénye. Ez a bejegyzés egy rettentő komprehenzív elemzést végzett az IntelliJ vs. Eclipse témakörről. A lentiekben egy kis segítséget szeretnék adni, hogy mikor melyik integrált fejlesztői környezetet érdemes használni.
Kurzusainkban mi tanártól függően IntelliJ és Eclipse környezetekben oktatunk, de hisszük, hogy nem a konkrét IDE használata hanem az alapvető skillek fejlesztése a legfontosabb.
Mikor melyiket használjam?
Az alábbiakban leírok néhány tényt az Eclipse-ről és az IntelliJ IDEA-ről:
- Az Eclipse-nek sokkal kisebb a rendszerigénye
- Az Eclipse-nek jelentősen jobb a memóriamenedzsmentje
- Az Eclipse gyakorlatilag minden egyéb programnyelvet támogat, mivel open source, és ezért sokkal dinamikusabban fejlődik
- Az IntelliJ jónéhány más programnyelvet támogat, de kevesebbet mint az Eclipse
- Az IntelliJ IDEA Java-n belüli kódfelismerő-és javító funkciója egyértelműen jobb
- Felhasználói élmény szempontjából az IntelliJ bizonyul jobbnak
Röviden tehát nincs egyértelműen, minden egyes esetre jobb választás, viszont néhány tanulság leszűrhető:
- Ha lassabb, régebbi, gyengébb teljesítményű számítógéped van, az Eclipse egész biztosan jobb választás.
- Ha egyéb programnyelveket is ki szeretnél próbálni ugyanazon az IDE-n belül, és később full-stack programozással szeretnél foglalkozni, az Eclipse valószínűleg jobb választás.
- Ha back-end programozó szeretnél lenni, és jó eséllyel a Java lesz a fő profilod, fontold meg az IntelliJ használatát.
- Ha Android programozással szeretnél foglalkozni, az IntelliJ IDEA lesz a megfelelő IDE.
A győztes tehát…
Amint az előzőekből is kiderül, nincs egyértelmű győztes, de az látszik, hogy a két integrált fejlesztői környezetnek mások az erősségei és gyengéi. Egy biztos: ha ezek közül valamelyiket választod, akkor a nagy felhasználói közösség miatt sokkal gyorsabban kapsz választ a kérdéseidre, mintha egy kisebbet használnál.
Én back-end fejlesztőként, erős Android-os érdeklődéssel fejlesztésre az IntelliJ IDEA-t jobban szeretem, de mint írtam, ez egyéni preferencia kérdése.
Szerző: Nagy Csongor