Najlepšie nástroje na programovanie v Jave

programovanie_Java.jpg Ec­lip­se, In­telliJ IDEA, Net­Beans aj Orac­le JDe­ve­lo­per po­kra­ču­jú v tra­dí­cii bo­ha­tých a pes­trých vý­vo­jo­vých nás­tro­jov pre Ja­vu.

Dob­rí prog­ra­má­to­ri vždy po­drob­ne a in­tím­ne po­zna­jú svo­je vý­vo­jo­vé pros­tre­dia, či už úpl­né IDE (In­teg­ra­ted De­ve­lop­ment En­vi­ron­ment), ako tie, kto­ré ďa­lej opi­su­je­me, ale­bo oby­čaj­né edi­to­ry, ako emacs a vi ale­bo vim. To by moh­lo zvád­zať k doj­mu, že vý­vo­já­ri ne­bu­dú oc­hot­ní me­niť svo­je IDE, ale pries­ku­my, nao­pak, uka­zu­jú, že mno­hí z nich svo­je nás­tro­je strie­da kaž­dých pár ro­kov.

Mig­rá­ciu nie­ke­dy vy­vo­la­jú ná­ro­ky pra­co­vis­ka, ino­ke­dy k nej doc­hád­za so zme­nou štý­lu prá­ce. Náš člá­nok by mal prog­ra­má­to­rom uľah­čiť po­zna­nie od­liš­nos­tí ve­dú­cich ja­vo­vých IDE: Ec­lip­se, Jet­Brains In­telliJ IDEA, Net­Beans a Orac­le JDe­ve­lo­pe­ra.

Tie­to vý­vo­jo­vé pros­tre­dia od­rá­ža­jú po­zo­ru­hod­nú bo­ha­tosť a vy­spe­losť pros­tried­kov pre Ja­vu. Všet­ky ma­jú vý­bor­nú po­dpo­ru pre prog­ra­mo­va­nie a vý­voj, sil­ne po­dpo­ru­jú re­fak­to­ring, kon­tro­lu syn­taxe a la­de­nie. IDE sú všeo­bec­ne rých­le a schop­né zvlá­dať veľ­ké im­ple­men­tá­cie ja­zy­ka bez vi­di­teľ­ných prob­lé­mov. Väč­ši­na z nich do­vo­ľu­je ap­li­ko­vať pro­jek­ty z IDE pria­mo na server­y a ro­biť vzdia­le­né la­de­nie pria­mo z vý­vo­jo­vé­ho sys­té­mu.

Za po­sled­ných päť ro­kov sa troc­hu zme­ni­li cha­rak­te­ris­ti­ky, kto­rý­mi sa pro­duk­ty od­li­šu­jú. Za­tiaľ čo v mi­nu­los­ti sa nás­tro­je rôz­ni­li roz­sa­hom vlas­tnos­tí na vý­voj, dnes sú hlav­né od­liš­nos­ti v jed­no­duc­hos­ti po­uži­tia, kva­li­te do­ku­men­tá­cie a po­moc­ní­ka a mož­nos­ti plug-inov.

Z vý­vo­jo­vých pros­tre­dí sa čo­raz viac stá­va­jú zá­klad­ne pre plug-iny po­sky­to­va­né exter­ný­mi do­dá­va­teľ­mi. Obzvlášť Ec­lip­se Foun­da­tion už dl­ho po­dpo­ru­je ten­to trend. Je to zrej­mé v IDE Ec­lip­se, kto­ré pro­fi­tu­je z po­dpo­ry väč­ši­ny tec­hno­ló­gií, o aké mô­žu mať vý­vo­já­ri Ja­vy zá­ujem. No tá­to orien­tá­cia na dopl­nky je na úkor jed­no­duc­hos­ti po­uži­tia. Ako uká­že­me ďa­lej pri opi­se Ec­lip­se, je­ho tvor­co­via uľah­či­li pí­sa­nie plug-inov len tým, že časť prá­ce pre­su­nu­li na po­uží­va­te­ľa.

Net­Beans a In­telliJ IDEA lep­šie vy­vá­ži­li po­čet plug-inov s jed­no­duc­hos­ťou po­uži­tia. Obe ich ma­jú dosť, ale zá­ro­veň sa sna­žia prá­cu prog­ra­má­to­ra sprí­jem­niť. Pre­to ich hod­no­tí­me lep­šie. Ta­kis­to s JDe­ve­lo­pe­rom sa ľah­ko za­ob­chád­za, ale je­ho plug-inov je má­lo. Na­vy­še tes­né spo­je­nie so sof­tvé­rom Orac­le ho zne­vý­hod­ňu­je pre or­ga­ni­zá­cie, kto­ré zá­vi­sia od sof­tvé­ru mno­hých iných do­dá­va­te­ľov. Ke­by ne­bo­lo to­to ob­med­ze­nie v pro­duk­te ta­ké zrej­mé, mal by asi viac plug-inov a bol by sil­nej­ším kon­ku­ren­tom pre os­tat­né IDE z náš­ho preh­ľa­du.

Vý­voj IDE ako zá­klad­ne pre plug-iny pri­nie­sol aj lep­šiu po­dpo­ru pre os­tat­né ja­zy­ky. Tie­to vý­vo­jo­vé pros­tre­dia po­dpo­ru­jú ja­zy­ky bež­ne po­uží­va­né s ja­vo­vý­mi ap­li­ká­cia­mi (JSF, HTML, CSS, XML atď.). Niek­to­ré po­dpo­ru­jú skrip­to­va­cie ja­zy­ky JVM (ako Groo­vy a JRu­by), ja­zy­ky mi­mo do­mé­ny Ja­va (ako C/C++ a PHP) a mo­de­lo­va­cie ja­zy­ky (UML). V ďal­šej čas­ti člán­ku sa po­zrie­me na pro­duk­ty s oso­bit­ným dô­ra­zom na jed­no­duc­hosť po­uži­tia a prog­ra­mo­va­cie schop­nos­ti. Tie po­va­žu­je­me za hlav­né fak­to­ry roz­ho­du­jú­ce o pro­duk­ti­vi­te a spo­koj­nos­ti po­uží­va­te­ľov. Sko­ro rov­na­ko dô­le­ži­tý je po­čet plug-inov.

Ec­lip­se 3.6
Ec­lip­se je ja­vo­vé IDE, do­mi­nan­tné po­dľa všet­kých hľa­dísk, pre­dov­šet­kým po­dľa to­ho, koľ­ko a aké plug-iny vy­uží­va. Za svo­ju ob­ľú­be­nosť vďa­čí roz­hod­nu­tiu svoj­ho ro­di­ča, IBM, od­de­liť ho do oso­bit­nej na­dá­cie, v kto­rej moh­la Veľ­ká mod­rá po­dpo­ro­vať ďal­ší vý­voj a kde zá­ro­veň moh­la Ec­lip­se vy­užiť po­dpo­ru os­tat­ných fi­riem, kto­ré by inak od­mie­ta­li pris­pie­vať do pro­duk­tu pat­ria­ce­ho cud­zej fir­me. Tá­to stra­té­gia sa op­la­ti­la, čias­toč­ne aj pre­to, že po­moc bo­la šted­rá, ale aj vďa­ka vý­be­ru ria­dia­cich pra­cov­ní­kov, kto­rí vy­ko­na­li skve­lú prá­cu pri ro­ko­va­niach s iný­mi or­ga­ni­zá­cia­mi, čím vy­bu­do­va­li ko­mu­ni­tu, kto­rá ria­di po­stup čias­tko­vých pro­jek­tov a rie­ši nez­ho­dy.

Dô­le­ži­tosť ne­zá­vis­los­ti vlas­tní­ka Ec­lip­se sa uká­za­la ne­dáv­no, keď Goog­le ve­rej­ne ozná­mil, že to­to IDE vy­bral na vý­voj An­droi­du. Net­Beans Orac­lu moh­li ke­dy­si byť kan­di­dá­tom na tú­to po­zí­ciu, ale ne­dáv­ny spor Orac­lu s Goog­lom de­fi­ni­tív­ne ta­ký­to vý­voj zne­mož­nil. Po­li­ti­ka má vplyv aj na trh a Ec­lip­se vždy hral s tou­to kar­tou ši­kov­ne.

Čo Ec­lip­su chý­ba, je špič­ko­vá tec­hno­ló­gia. Ec­lip­se bo­lo dl­ho prie­mer­né ja­vo­vé IDE, kto­ré ve­ľa ľu­dí po­uží­va, ale má­lok­to mi­lu­je. Po ro­koch sa po­stup­ne zlep­ši­lo na zá­kla­de kaž­do­roč­ných ver­zií sta­ros­tli­vo syn­chro­ni­zo­va­ných s hlav­ný­mi kom­po­nen­tmi a do­dá­va­ných na trh za­kaž­dým v jú­ni. Toh­to­roč­ná ver­zia 3.6, ozna­če­ná ako He­lios, pri­dá­va nie­koľ­ko no­vých vlas­tnos­tí.

Zos­ta­va Ec­lip­se je v mno­hých oh­ľa­doch neob­vyk­lá svo­jou uni­kát­nos­ťou, z čo­ho vy­plý­va, že zna­losť prá­ce v iných IDE sa ne­dá pre Ec­lip­se po­užiť. Ústred­ný kon­cept je v prá­ci s per­spek­tí­va­mi, čo je iný spô­sob rep­re­zen­tá­cie pa­ne­lov a roz­lo­že­nia IDE. Tie­to per­spek­tí­vy mô­žu byť nie­ke­dy veľ­mi od­liš­né v zá­vis­los­ti od kon­krét­nej čin­nos­ti. Tá­to ar­chi­tek­tú­ra nah­rá­va vý­vo­ju plug-inov, ale za ce­nu ne­po­ho­dlia pre po­uží­va­te­ľa, kto­rý sa mu­sí vy­rov­nať nie­ke­dy s dra­ma­tic­ky od­liš­ný­mi us­po­ria­da­nia­mi, lí­šia­ci­mi sa po­dľa prá­ce, kto­rú prá­ve ro­bí.

V zá­klad­nom vý­vo­jo­vom pros­tre­dí Ec­lip­se ig­no­ru­je kon­ven­cie a nú­ti po­uží­va­te­ľa, aby sa pris­pô­so­bil je­ho ví­zii. Než vy­tvo­rí­te pro­jekt, mu­sí­te nap­rík­lad naj­prv uro­biť pra­cov­né pros­tre­die. V ňom (čo je kon­cept, kto­rý ne­má v iných IDE ob­do­bu) tvo­rí­te svo­je pro­jek­ty. Mô­že­te ta­kis­to ro­biť pra­cov­né zos­ta­vy, čo sú čas­ti pra­cov­né­ho pros­tre­dia zos­ku­pe­né ako sa­mos­tat­né en­ti­ty. Tá­to zá­vis­losť od pra­cov­ných pros­tre­dí zna­me­ná, že tvor­ba a mig­rá­cia pro­jek­tov mô­že byť ná­roč­ný pro­ces, zle po­dpo­ro­va­ný sprie­vod­ca­mi s neob­vyk­lý­mi a ne­vys­vet­le­ným mož­nos­ťa­mi. Kon­cept „jed­no­duc­ho to urob“ v Ec­lip­se ne­fun­gu­je. Sko­ro všet­ko vy­ža­du­je vy­pl­ne­nie di­aló­gov ale­bo vý­ber vo­lieb, kto­ré sú buď neod­lí­ši­teľ­né, ale­bo nein­tui­tív­ne.

Zo­ber­me si nap­rík­lad zmie­ša­ný pro­jekt Ja­vy a Groo­vy, im­por­to­va­ný do Ec­lip­se bez plug-inu pre Groo­vy. Keď klik­ne­te pra­vým tla­čid­lom na sú­bor Groo­vy, aby ste ho edi­to­va­li, po­nú­ka me­nu tie­to mož­nos­ti: texto­vý edi­tor, sys­té­mo­vý edi­tor, miest­ny edi­tor a de­fault­ný edi­tor. Pre­to­že k to­mu nie je ni­ja­ký po­moc­ník, pri vý­be­re len há­da­te. A od to­ho oka­mi­hu to ide z kop­ca. Keď klik­ne­te na sys­té­mo­vý edi­tor, po­kú­ša sa Ec­lip­se skript spus­tiť, nie edi­to­vať ho. Struč­ne po­ve­da­né, väč­ši­na po­uží­va­te­ľov sa mu­sí spo­ľah­núť na svo­ju ťaž­ko na­do­bud­nu­tú zna­losť, čo je čo, skôr než na in­tui­tív­nu na­vi­gá­ciu po mož­nos­tiach.

Aby sa to nau­či­li, sú po­uží­va­te­lia sil­ne zá­vis­lí od po­moc­ní­ka, kto­rý sa za tie ro­ky vý­znam­ne zlep­šil, aj keď má eš­te stá­le ne­dos­tat­ky. Ok­rem to­ho ve­ľa chy­bo­vých hlá­se­ní, kto­ré bo­li v Ec­lip­se bež­né v pred­chád­za­jú­cich di­aló­goch, tak­mer zmiz­lo. IDE sa ne­poc­hyb­ne v kaž­dej ver­zii zlep­šu­je, ale eš­te to chce to, čo Net­Beans dos­ta­li pred pár rok­mi – pre­pí­sať a zá­sad­ne zme­niť jad­ro prog­ra­mo­va­cích čin­nos­tí.

Do­da­li by sme, že kon­cep­cia Ec­lip­se je prob­lém naj­mä v ob­las­ti Ja­vy, kde sú­pe­rí s veľ­mi kva­lit­nou kon­ku­ren­ciou, tak­že jej ne­dos­tat­ky sú tým vi­di­teľ­nej­šie. V iných ob­las­tiach, nap­rík­lad vo vý­vo­ji pre C, kde je má­lo dob­rých IDE, je Ec­lip­se po­pu­lár­ny a pri­jí­ma­ný bez vý­hrad. Na vý­voj C++ pre Li­nux je to zrej­me hlav­né IDE.

Nap­riek tým­to ne­dos­tat­kom po­nú­ka po­uží­va­nie Ec­lip­se tak­mer neob­med­ze­né mož­nos­ti a úžas­nú šká­lo­va­teľ­nosť. Zdan­li­vo neob­med­ze­né even­tua­li­ty sú vý­sled­kom veľ­ké­ho množ­stva plug-inov. A tých je toľ­ko pre­to, že väč­ši­na ich návr­há­rov po­dpo­ru­je pre­dov­šet­kým Ec­lip­se. Mno­ho fi­riem nik­dy ne­dá­va svo­je pro­duk­ty na iné plat­for­my. Do­kon­ca aj po­pu­lár­ne plug-iny, ako je vý­bor­ný ma­na­žér úloh My­lyn, sú čas­to dos­tup­né len pre Ec­lip­se.

V mi­nu­los­ti bo­la sprá­va plug-inov v Ec­lip­se pre po­uží­va­te­ľa prob­lé­mom, pre­to­že je­den plug-in čas­to zá­vi­sí od iných plug-inov, kto­ré na­vy­še mu­sia mať ur­či­té čís­lo ver­zie. Ec­lip­se sa tej­to úlo­he tr­va­lo ve­nu­je. V toh­to­roč­nej ver­zii Ec­lip­se Mar­ket­pla­ce sa ten­to prob­lém rie­ši vy­hľa­da­ním plug-inu, kto­rý by mo­hol byť po­uži­teľ­ný.

Jet­Brain In­telliJ IDEA 9.0.3
In­telliJ fir­my Jet­Brain exis­tu­je v dvoch vy­ho­to­ve­niach – ako pla­te­ná ver­zia, kto­rú tu opí­še­me, a bez­plat­ná open sour­ce Com­mu­ni­ty Edi­tion, kto­rá po­nú­ka zá­klad­né prog­ra­mo­va­cie mož­nos­ti pre Ja­vu. Pre­to­že pla­te­ná ver­zia In­telliJ kon­ku­ru­je mno­hých bez­plat­ným pro­duk­tom, mu­sí svo­je pred­nos­ti neus­tá­le ob­ha­jo­vať. Ro­bí to čas­tej­ší­mi ino­vá­cia­mi ako iné IDE. Je­ho dl­há his­tó­ria ino­vá­cií mu zís­ka­la veľ­ký po­čet priaz­niv­cov, kto­rí ma­jú pro­dukt v ob­ľu­be. A vskut­ku je čo mi­lo­vať.

Návr­há­ri In­telliJ ma­jú cit pre nad­chád­za­jú­ce tren­dy v ko­mu­ni­te Ja­va a rých­lo dopĺňa­jú po­dpo­ru no­vých, ho­rú­cich pro­duk­tov. In­telliJ bol nap­rík­lad jed­no z pr­vých rie­še­ní s ro­bus­tnou po­dpo­rou Groo­vy a Grails. Ako je­den z pr­vých po­nú­kal zdo­ko­na­le­nú po­dpo­ru pre Ja­vaS­cript vrá­ta­ne de­bug­ge­ra. Kde prá­ve ne­zau­jí­ma na tr­hu ve­dú­cu po­zí­ciu, je dru­hý, čas­to s lep­šou po­dpo­rou. Má do­ko­na­lú in­teg­rá­ciu pre Ant a Ma­ven, po­dpo­ru pre Spring a mož­nosť ská­kať z prog­ra­mo­va­nia Ja­vy do Ado­be Flexu a PHP v tom is­tom IDE.

Ale vý­vo­já­ri si ce­nia In­telliJ viac pre je­ho schop­nos­ti ako pre rad po­dpo­ro­va­ných tec­hno­ló­gií. Pred rok­mi to bo­lo nap­rík­lad pr­vé IDE, kto­ré po­sky­to­va­lo di­aló­go­vé ok­no na po­rov­na­nie pred­pok­la­da­né­ho a sku­toč­né­ho vý­stu­pu z tes­to­va­nej jed­not­ky so zvý­raz­ne­ním od­liš­nos­tí.

Dnes má mož­nos­ti a vlas­tnos­ti, kto­ré sú všeo­bec­ne lep­šie im­ple­men­to­va­né ako po­dob­né ve­ci u kon­ku­ren­cie, ale aj ab­so­lút­ne uni­kát­ne vlas­tnos­ti. Do po­sled­nej ka­te­gó­rie sa ra­dí väč­ší po­čet mož­ných re­fak­to­rin­gov prog­ra­mu, ako po­nú­ka väč­ši­na iných nás­tro­jov. Má na­vy­še za­bu­do­va­nú kon­tro­lu syn­taxe, kto­rá nie­len hľa­dá chy­by, ale aj mies­ta, kto­ré sí­ce pra­cu­jú správ­ne, ale sú na­pí­sa­né neoh­ra­ba­ne: príl­iš zlo­ži­té fun­kcie ale­bo tes­to­va­nie vždy prav­di­vej po­dmien­ky. Ok­rem to­ho po­nú­ka In­telliJ vlast­ný nás­troj na sle­do­va­nie prog­ra­mu, kto­rý zob­ra­zu­je v IDE, kto­ré riad­ky prog­ra­mu preš­li da­ným po­čtom tes­tov. Ak vás za­ují­ma­jú iné mož­nos­ti, In­telliJ má za­bu­do­va­ný open sour­ce pro­dukt EM­MA a má plug-iny pre všet­ky os­tat­né sle­do­va­cie nás­tro­je.

Do ka­te­gó­rie je­di­neč­ných vlas­tnos­tí pat­rí aj sle­do­va­nie dup­li­cit­né­ho kó­du, obzvlášť zle na­pí­sa­né­ho prog­ra­mu, kto­rý sa vo veľ­kom pro­jek­te ťaž­ko hľa­dá. In­telliJ má aj nás­troj na ana­lý­zu zá­vis­los­tí, kto­rý v ta­buľ­ke uka­zu­je me­tó­dy zá­vis­lé od iných, ako aj to, kto­ré od kto­rých zá­vi­sia. Ten­to opis však ne­vys­ti­hu­je po­cit, kto­rý pri po­uží­va­ní In­telliJ má­te. Je to sof­tvér, kto­rý neus­tá­le prek­va­pu­je tým, že pred­ví­da po­tre­by prog­ra­má­to­ra. Nap­rík­lad všet­ky tu preb­ra­né IDE ma­jú vy­ska­ko­va­cie ok­no po­moc­ní­ka, spúš­ťa­né, keď pí­še­te me­no me­tó­dy. V In­telliJ tá­to vlas­tnosť (kto­rá sa vo­lá auto­ma­tic­ké dopl­ňo­va­nie) vy­uží­va kon­textuál­nu in­for­má­ciu z prog­ra­mu na od­had to­ho, čo sa má umies­tniť do pr­vých miest zoz­na­mu, tak­že ne­mu­sí­te prec­hád­zať mno­hý­mi mož­nos­ťa­mi. Od­had je správ­ny s ne­ča­ka­nou účin­nos­ťou, nie­ke­dy to vy­ze­rá až nad­pri­rod­ze­ne.

In­telliJ má aj is­té ob­med­ze­nia. Naj­viac ci­teľ­ný je dl­ho­do­bý ne­dos­ta­tok dob­rej do­ku­men­tá­cie. Zis­tiť, ako sa po­uží­va­jú vy­spe­lé mož­nos­ti, ale­bo vy­rie­šiť ne­ja­ký prob­lém je ne­poc­hyb­ne frus­tru­jú­ce. Naš­ťas­tie e-mai­lo­vé otáz­ky zod­po­ve­da­jú sa­mi vý­vo­já­ri. To zna­me­ná, že sta­čí po­lo­žiť jed­nu otáz­ku, aby ste dos­ta­li správ­nu od­po­veď. Je­di­ný há­čik je v tom, že tí­to vý­vo­já­ri sú v Rus­ku, z čo­ho ply­nie is­tý ča­so­vý po­sun. Ďal­ší prob­lém je po­ma­lý štart. Ten­to ne­dos­ta­tok sa vo ver­zii 9.0 troc­hu zmen­šil, ale aj tak je únav­ne po­ma­lý.

Nap­riek tým­to ne­dos­tat­kom je In­telliJ vý­bor­né IDE, uka­zu­jú­ce, ako s vý­bor­ne zvlád­nu­tým re­mes­lom mož­no uro­biť ko­merč­ný pro­dukt, kto­rý ús­peš­ne sú­pe­rí s bez­plat­nou kon­ku­ren­ciou.

Net­Beans 6.9
Net­Beans uro­bil v po­sled­ných pia­tich ro­koch veľ­ké po­kro­ky v po­die­le na tr­hu, as­poň po­dľa po­čtu po­uži­tia. Po­dľa vý­roč­né­ho pries­ku­mu IDE Ja­vy, pub­li­ko­va­né­ho BZ Re­search, bol Net­Beans po­uží­va­ný v ro­ku 2005 na 17,9 % miest. V tom­to ro­ku sa to­to čís­lo zdvoj­ná­so­bi­lo na 35,7 %. To je za to­to ob­do­bie zďa­le­ka naj­vyš­ší prí­ras­tok po­uží­va­nia aké­ho­koľ­vek IDE pre Ja­vu. Čo sa tý­ka po­pu­la­ri­ty, je te­raz Net­Beans bez­peč­ne na dru­hom mies­te za Ec­lip­se.

Za časť toh­to ús­pec­hu mô­že sta­ros­tli­vá po­zor­nosť je­ho bý­va­lej ma­ter­skej spo­loč­nos­ti Sun Mic­ro­sys­tems. Keď za­čiat­kom toh­to ro­ka Orac­le zís­kal Sun, za­vlád­li vo vý­vo­jár­skej ko­mu­ni­te Ja­vy oba­vy o osud Net­Beans. Oba­vy zo­sil­ne­li, keď Orac­le zru­šil po­dpo­ru ot­vo­re­ných pro­jek­tov Sun, ako napr. Open­So­la­ris, a hos­ťo­va­nie Ke­nai. Osud Net­Beans sa zdal ta­ký neis­tý, že sme od­lo­ži­li to­to po­rov­na­nie dov­te­dy, než sme zís­ka­li is­to­tu o tom, ako s IDE na­lo­ží Orac­le.

Roz­hod­nu­tie Orac­lu po­kra­čo­vať v po­dpo­re Net­Beans nám tl­mo­čil Dun­can Mills, ve­dú­ci ma­naž­men­tu vý­vo­jár­skych pros­tried­kov. Po­ve­dal: „Ak­tív­ne po­dpo­ru­je­me tak JDe­ve­lo­per, ako aj Net­Beans. JDe­ve­lo­per sa po­uží­va vo fir­me a pre po­dni­ko­vých zá­kaz­ní­kov, kto­rí po­tre­bu­jú nás­troj so sil­nou po­dpo­rou rie­še­ní Orac­le Fu­sion Mid­dleware. Net­Beans je na­ša po­nu­ka pre po­uží­va­te­ľov, kto­rí chcú pros­tre­die na vý­voj s iný­mi tec­hno­ló­gia­mi. Dú­fa­me, že prí­pad­ne prej­dú na rie­še­nia Orac­le a JDe­ve­lo­per.“ Tá­to for­mu­lá­cia za­bez­pe­ču­je, že mô­že­me s is­to­tou oča­ká­vať ak­tív­ny vý­voj Net­Beans. Ako sme spo­me­nu­li v úvo­de, vzhľa­dom na ne­dáv­ne spo­ry Orac­lu oko­lo Ja­vy mô­že byť po­kra­čo­va­nie po­mo­ci dvoj­seč­ným me­čom.

Net­Beans je cha­rak­te­ris­tic­ký jed­no­duc­hým po­uži­tím a ten­den­ciou k ľah­kos­ti a jed­no­duc­hos­ti. Do­kon­ca aj download má vlas­tnos­ti, kto­ré po­te­šia. Nap­rík­lad na download po­uži­je­te strán­ku s ta­buľ­kou rôz­nych edí­cií (kom­bi­ná­cií plug-inov a plat­fo­riem) pred­kon­fi­gu­ro­va­ných pre ur­či­té úlo­hy. Stiah­ne­te si to, čo chce­te. Ec­lip­se má po­dob­nú mož­nosť, za­tiaľ čo In­telliJ a JDe­ve­lo­per po­sky­tu­jú len jed­not­ný, uni­ver­zál­ny download.

Vý­ber z ta­buľ­ky mož­nos­tí cha­rak­te­ri­zu­je jed­nu z vý­raz­ných vlas­tnos­tí Net­Beans: po­dpo­ru ja­zy­kov, kto­ré iné IDE ig­no­ru­jú, me­no­vi­te JRu­by a Ja­vaFX. (Net­Beans má ta­kis­to za­bu­do­va­nú po­dpo­ru pre PHP a C/C++.) JRu­by bol pô­vod­ne vy­vi­nu­tý fir­mou Sun, čo vy­svet­ľu­je je­ho dô­le­ži­tosť v Net­Beans. Charles Nut­ter, je­den z ve­dú­cich vý­vo­já­rov JRu­by, po­tvr­dil kva­li­tu po­dpo­ry ja­zy­kov v Net­Beans v ne­dáv­nom roz­ho­vo­re. Des­kto­po­vý skrip­to­va­cí ja­zyk Ja­vaFX je po­dpo­ro­va­ný pre­to, že Orac­le ve­ľa pris­pel k tej­to tec­hno­ló­gii. (Aj keď exis­tu­je znač­ná skep­sa, či ja­zyk vô­bec nie­ke­dy zís­ka po­pu­la­ri­tu, tak­že je­ho za­čle­ne­nie je viac nao­ko než v dôs­led­ku reál­nych po­uží­va­teľ­ských po­trieb.) Na­neš­ťas­tie Net­Beans pres­tal po­dpo­ro­vať di­ag­ra­my UML, čo do­ne­dáv­na eš­te ro­bil.

Net­Beans bol pred nie­koľ­ký­mi rok­mi kom­plet­ne pres­ta­va­ný a stá­le má jed­no­duc­hosť a jed­no­duc­hosť na­vi­gá­cie, kto­rú vte­dy zís­kal. Ve­ci fun­gu­jú, ako tre­ba, a po­ža­do­va­né voľ­by je len zried­ka ťaž­ké náj­sť. Na roz­diel od In­telliJ, kto­rý ro­bí pri za­pi­so­va­ní len syn­tak­tic­kú ana­lý­zu, Net­Beans neus­tá­le kom­pi­lu­je v po­za­dí. (Ec­lip­se má po­dob­nú mož­nosť ako nas­ta­vi­teľ­nú voľ­bu.) To zna­me­ná, že len čo do­kon­čí­te edi­tá­ciu, mô­že­te prog­ram spus­tiť. Net­Beans tiež ro­bí v po­za­dí pre kaž­dý pro­jekt Ant buil­dfi­le. Je to pre vý­vo­já­rov uži­toč­ný pros­trie­dok, za­ru­ču­je, že build vy­tvo­re­ný tým­to IDE mô­že autor pres­ne rep­ro­du­ko­vať.

Net­Beans sa do­dá­va so za­bu­do­va­ným pro­fi­le­rom, tes­to­va­cím ge­ne­rá­to­rom JU­nit (ro­bí zá­klad­né tes­ty, kto­ré sí­ce nes­ta­čia na dôk­lad­né otes­to­va­nie prog­ra­mu, ale na za­čia­tok sú vy­ho­vu­jú­ce), a sprie­vod­com pre re­ťaz­ce v cud­zích ja­zy­koch. Pre väč­ší roz­sah prá­ce je download vrá­ta­ne Apac­he Tom­cat ale­bo ot­vo­re­né­ho server­a Glas­sFish. Na mo­ni­to­ro­va­nie bež­iacich ap­li­ká­cií Net­Beans je­di­neč­ne in­teg­ru­je po­dpo­ru pre JMX (Ja­va Ma­na­ge­ment Exten­sions) a JCon­so­le.

Plug-inov pre Net­Beans je vý­raz­ne me­nej ako pre Ec­lip­se (a zhru­ba rov­na­ko ako pri In­telliJ IDEA). Sta­rá múd­rosť, že plug-iny Ec­lip­se na­ko­niec mig­ru­jú k me­nej po­uží­va­ným plat­for­mám, je te­raz sku­toč­nos­ťou spoc­hyb­ne­ná. Ako sme sa už zmie­ni­li, mno­ho nás­tro­jov sa dnes pí­še pre Ec­lip­se a ďa­lej nie sú po­rto­va­né. Ak Net­Beans bu­dú po­kra­čo­vať v tem­pe, v akom zís­ka­va­jú no­vých stú­pen­cov v po­sled­ných pia­tich ro­koch, ve­ci sa zme­nia, ale v sú­čas­nos­ti je ne­dos­ta­tok plug-inov naj­väč­ším ob­med­ze­ním Net­Beans. Vo všet­kých os­tat­ných oh­ľa­doch je Net­Beans naj­viac pria­teľ­sky orien­to­va­né IDE pre Ja­vu.

Orac­le JDe­ve­lo­per Stu­dio 11g (11.1.1.3.0)
JDe­ve­lo­per Stu­dio od Orac­lu sa je­di­neč­ne lí­ši od iných rie­še­ní, kto­ré sme tes­to­va­li. Ide svo­jou ces­tou a je viac sús­tre­de­ný na agen­du Orac­lu než na po­tre­by ne­pat­ria­ce do zá­uj­mov Orac­lu. Skôr ako bez­plat­ný pro­dukt s uzav­re­tým zdro­jom ho tre­ba vi­dieť ako vnú­tor­ný vý­vo­jo­vý pros­trie­dok Orac­lu, po­nú­ka­ný za­dar­mo kaž­dé­mu, ko­mu sa mô­že ho­diť.

Agen­da Orac­lu veľ­mi zu­žu­je ob­lasť je­ho za­me­ra­nia, a pre­to ho v niek­to­rých oh­ľa­doch ob­med­zu­je, ale nás­led­kom to­ho je za­se pro­dukt v iných sme­roch veľ­mi efek­tív­ny. Väz­by na sof­tvér Orac­lu sú vi­di­teľ­né vo všet­kých as­pek­toch IDE, do­kon­ca i v čís­lo­va­ní ver­zií, kto­ré ne­mô­žu pred­stih­núť ús­tred­ný pro­dukt Orac­lu, da­ta­bá­zu. S tým­to ob­med­ze­ním sa čís­lo ver­zie mu­sí roz­tiah­nuť cez viac de­sa­tin­ných miest. V tom­to pro­ce­se sa po­tom ob­vyk­lá in­for­má­cia o tom, kto­ré ver­zie sú vý­znam­ným zlep­še­ním pro­duk­tu, úpl­ne stra­tí.

In­šta­lá­cia je jed­no­duc­há, ale ko­neč­ný pro­dukt je na­po­ču­do­va­nie re­gis­tro­va­ný na sys­té­moch, na kto­ré sa nain­šta­lu­je, pod me­nom Orac­le Fu­sion Mid­dleware. Väč­ši­na ľu­dí ne­po­va­žu­je IDE za mid­dleware, ale tá­to ka­te­go­ri­zá­cia zdô­raz­ňu­je po­dstat­nú po­dpo­ru JDe­ve­lo­pe­ra pre vý­voj mid­dlewaru ako sú­čas­ti roz­siah­lych mož­nos­tí pre en­terpri­se. Nap­rík­lad JDe­ve­lo­per má veľ­kú po­dpo­ru pre ADF (Ap­pli­ca­tion De­ve­lop­ment Fra­mework), sú­bor kom­po­nen­tov Ja­va Server Fa­ces (JSF), pre­fe­ro­va­ných Orac­lom. Po­dpo­ru­je ta­kis­to Top­Link, pre­zen­tač­nú vrstvu, kto­rú Orac­le kú­pil od BEA eš­te pred­tým, než úpl­ne zís­kal BEA, a po­nú­ka roz­siah­le nás­tro­je Ja­va EE vrá­ta­ne za­bu­do­va­nej ver­zie Web­Lo­gic server­a, kto­rý sa mô­že spus­tiť a spra­vo­vať zvnút­ra IDE.

Orien­tá­cia len na Orac­le v JDe­ve­lo­pe­ri fun­gu­je, ak sa strik­tne dr­ží­te spek­tra pro­duk­tov Orac­lu od­ho­ra na­dol. Ak nap­rík­lad za­me­ní­te kom­po­nen­ty JSF Orac­lu v ADF za kom­po­nen­ty iné­ho vý­rob­cu, mož­nos­ti vý­vo­ja po­uží­va­teľ­ské­ho roz­hra­nia me­tó­dou WYSIWYG (What You See Is What You Get) sa znač­ne ob­med­zia.

Nap­riek to­mu je JDe­ve­lo­per po­ho­to­vej­ší ako iné pro­duk­ty, kto­ré sme tes­to­va­li, a má vý­bor­né­ho po­moc­ní­ka. Po stla­če­ní klá­ve­so­vej kom­bi­ná­cie pre po­moc­ní­ka okam­ži­te vy­sko­čí ok­no s in­for­má­ciou úz­ko spo­je­nou so strán­kou ale­bo di­aló­gom, s kto­rým pra­cu­je­te. Tá­to kon­texto­vo orien­to­va­ná po­moc je rých­lej­šia a lep­šia ako v iných IDE. JDe­ve­lo­per má aj la­hôd­ky, ako je za­bu­do­va­ný pro­fi­ler, kto­rý vie me­rať vý­kon ale­bo spot­re­bu pa­mä­te. Je­ho kon­tro­la syn­taxe naš­la chy­bu, kto­rú os­la­vo­va­ný pro­fi­lo­va­cí nás­troj In­telliJ IDEA ne­zis­til. V ob­las­tiach, na kto­ré sa Orac­le sús­tre­dil, uro­bi­la tá­to spo­loč­nosť dob­rú prá­cu.

Jed­nou z ob­las­tí, kto­ré stá­li mi­mo zá­uj­mu spo­loč­nos­ti a kto­rú JDe­ve­lo­per od­krý­va, je vy­tvo­re­nie eko­sys­té­mu plug-inov. Ani je­den z os­tat­ných tes­to­va­ných pro­duk­tov ne­má tak má­lo plug-inov a väč­ši­nu z exis­tu­jú­cich na­pí­sal Orac­le. Tre­tie stra­ny prak­tic­ky chý­ba­jú. Ne­naš­li sme nap­rík­lad je­di­ný plug-in pre co­de co­ve­ra­ge ana­ly­sis, kto­rý by pra­co­val v JDe­ve­lo­pe­ri. To je váž­ne ob­med­ze­nie. Orac­le dal naj­avo, že po­čí­ta s JDe­ve­lo­pe­rom ako hlav­ným vý­vo­jo­vým pros­tre­dím spo­loč­nos­ti. Pre or­ga­ni­zá­cie ver­né pro­duk­tom Orac­lu je to ro­zum­ná voľ­ba. Ale všet­ci os­tat­ní zá­kaz­ní­ci by asi da­li pred­nosť iné­mu z IDE, kto­ré sú tu pre­zen­to­va­né.

Zdroj: com­pu­terworld.cz



Ohodnoťte článok:
 
 

Váš názor:

 
 
  • Avatar root: sikovny clanok :) 17.03.2011 12:50  |  Reagovať  
  • Avatar Meno:: Fajn, je to take zhrnutie, no osobne povazujem Eclipse za velmi pomale IDE. Zvlast na menej vykonnych pocitacoch. NetBeans je moja jednicka, ved jeho historia siaha az na MFF UK :) 16.03.2011 16:11  |  Reagovať  
  • Avatar dmkil: vdaka pekny clanok, trochu chybalo vyzdvihnut netbeans pre j2me, aj solidnu pracu s pluginom pre j2me-polish. 16.03.2011 15:04  |  Reagovať  
  • Avatar asdf: Pekné a trefné, autor má skúsenosti. Vďaka! 16.03.2011 13:09  |  Reagovať  
  • Avatar rasto: kto to ma cele citat? co tak urobit seriu 3+ clankov? 16.03.2011 11:36  
    • Avatar viliam: suhlasim, ked som videl, kolko toho je a ako neprehladne napisane, tak som to ani necital..

      chcelo by to viac obrazkov, namiesto tisicov slov.
      28.01.2012 17:45
       
    •  
       
 

Najviac vás zaujalo

24 hodín

týždeň

mesiac

 
 

Najnovšie články

Mo­bil­ný open sour­ce sof­tvér ra­ke­to­vo pri­búd
(Publikované pred 1 hodinou) Spoločnosť Black Duck Software zverejnila prekvapivé informácie o raste open source projektov v mobilnej oblasti, ktoré svedčia o výraznom posune v tejto sfére. čítať »
 
Goog­le bu­de prís­tro­je s An­droi­dom pre­dá­vať pria­mo
(Publikované pred 4 dňami) Spoločnosti sa nepáči spôsob, ako výrobcovia upravujú operačný systém Android pre svoje smartfóny alebo tablety. Chce preto zvýšiť svoj vplyv na predaj takýchto zariadení. čítať »
 
No­vý Chro­me syn­chro­ni­zu­je ot­vo­re­né ok­ná na­prieč rôz­ny­mi za­ria­de­nia­mi
(Publikované pred 5 dňami) Nová verzia (19) internetového prehliadača Google Chrome prináša zaujímavú novinku. Pokiaľ sa prihlásite vo svojho účtu Google, otvorené okná internetového prehliadača sa zosynchronizujú naprieč všetkými zariadeniami. čítať »
 
Mic­ro­soft po­nú­ka po­čí­ta­če s Win­dows bez bloatware
(Publikované pred 5 dňami) Už sme si akosi zvykli, že výrobcovia počítačov pridávajú k operačnému systému Windows doplnkový softvér, skúšobné verzie rôznych programov, nástrojové lišty a pod. čítať »
 
Za up­gra­de na Win­dows 8 bu­de tre­ba za­pla­tiť asi 15 do­lá­rov
(Publikované pred 6 dňami) K novým počítačom s Windows 7 bude Microsoft už čoskoro pridávať kupón na upgrade na Windows 8. Spočiatku to vyzeralo tak, že táto možnosť sa bude ponúkať bezplatne, podľa najnovších informácií sa však zdá, že to nebude úplne zadarmo. čítať »