Porovnanie ide pre java. Ako začať s vývojom programov Java pomocou súpravy Java Development Kit (JDK)

  • 18.06.2019

Počas viac ako desaťročnej histórie jazyka Java sa nezmenila ani jedna generácia integrovaného vývojového prostredia (IDE). Vývoj nástrojov IDE je spôsobený mnohými faktormi, ktorých súhrn sa nazýva informačné technológie, ktoré zahŕňajú softvérové ​​a hardvérové ​​​​komponenty, ako aj vývoj samotného jazyka, ku ktorému dochádza nielen do hĺbky, optimalizácia niektorých funkcií, ktoré jasne demonštruje príchod nových knižníc Swing namiesto zastaraných AWT, ale aj „do šírky“, je nástup technológií JSP, väčšia integrácia s DBMS a aplikačnými servermi, podpora technológií Spring, Hibernate atď.

A ak prvé nástroje IDE v dnešnom ponímaní predstavovali primitívny textový editor, ktorý slúžil len pre sadu zdrojových kódov a všetku zvyšnú prácu, od kompilácie až po finálne zostavenie projektu, bolo treba robiť ručne, potom tie dnešné moderné sú vlastne multifunkčné zariadenia, ktoré preberajú nielen známe funkcie, ale aj množstvo doplnkových, počnúc automatickým vytváraním Javadocu, refaktorovaním, profilovaním, UML-dizajnom, klientom pre pripojenie k ľubovoľnému DBMS a končiac napr. exotické, nesúvisiace s procesom vývoja, ako je kontrola pravopisu.

Je samozrejmé, že odplatou za všetky tieto „vymoženosti“ sú zvýšené nároky na počítačové zdroje. Existuje názor, že 80% používateľov využíva možnosti existujúceho softvéru iba 20%, čo sa dá premietnuť aj na IDE - nástroje. Pretože všetky ich prednosti môže posúdiť iba programátor, ktorý na príslušnej technológii vyvíja viac ako jeden rok. A pre začínajúcich programátorov je ťažké primerane vyhodnotiť tento alebo ten nástroj, preto je jeho nezávislý výber spravidla založený na dvoch kritériách - intuitívna prehľadnosť rozhrania a rôzne charakteristiky časových zdrojov, ako je načítanie, kompilácia, spustenie, obsadené množstvo pamäte RAM. Koniec koncov, najprv potrebujete iba kompilátor, debugger a samotný stroj Java.

Účelom tohto článku je preto preskúmať existujúci trh s nástrojmi IDE na vývoj programov pomocou jazyka Java, identifikovať silné a slabé stránky každého podľa rôznych kritérií na základe analýzy výsledkov projektu: „Testovanie a analýza softvérových vývojových prostredí pre Javu“ („Testovanie a analýzy IDE pre Javu“ (TAIDEJ)), ktoré sme organizovali my, koordinačná skupina stránky a prebiehali od 01.01.2006 do 1.09.2006 na stránke www.site.

Projekt bol rozdelený do niekoľkých etáp. V prvej fáze sme vyvinuli dotazník, tabuľka 2, a zostavili sme zoznam Java-IDE, tabuľka 3, ktoré boli vyvinuté od okamihu, keď sa objavil jazyk Java2 až po súčasnosť, vrátane odkazov na oba nástroje IDE, o ktorých každý počul, a skôr exotické. Vďaka našim členom je tento zoznam pravidelne aktualizovaný. Na tomto mieste chceme vyjadriť hlbokú vďaku všetkým účastníkom projektu, ako aj všetkým, ktorí nás na fórach diskutovali a konštruktívne kritizovali, tabuľka 1

Tabuľka 1. Java - fóra
Java - Fórum na Sources.Ru
RSDNhttp://www.rsdn.ru/?forum
Fóra - Juga.Ruhttp://forum.juga.ru/
IT archívne fórahttp://www.javable.com/forum
Java fóra - Java programovaniehttp://forum.java.sun.com/
java.net fórahttp://forums.java.net
Javalobby.orghttp://www.javalobby.org/java/forums
JavaWorldhttp://www.javaworld.com/javaforums
Počítačové fórum Ru.Boardhttp://forum.ru-board.com
Programovanie - iXBT Hardware BBShttp://forum.ixbt.com
Fórum džbánov KPIhttp://jug.in.ntu-kpi.kiev.ua/forum
CITForumhttp://forum.citforum.ru
Realcoding.NEThttp://forums.realcoding.net

Pri tvorbe dotazníka sme sa snažili zistiť nasledovné:

  1. tendencia meniť preferencie programátorov, pretože kedysi úspešné nástroje sa buď úplne prestali vyvíjať, alebo ich vývojárske firmy z nejakého dôvodu opustili odstup, a preto mnohí museli prejsť z jedného nástroja IDE na druhý;
  2. ako si programátor vybral ten či onen nástroj;
  3. ako programátor hodnotí nástroje, s ktorými pracoval, na päťbodovej škále;
Tabuľka 2. Dotazník

Ďalšími úlohami bolo spracovať a analyzovať získané štatistické informácie, posúdiť „náročnosť zdrojov“ populárnych nástrojov. Okrem toho boli pripravené recenzie niektorých fondov, ktoré boli zverejnené na webovej stránke projektu.

Tabuľka 3. Zoznam IDE pre Java.
názovVýrobcaWebová stránka produktov
1 Applet Designer ProfessionalTVObjectshttp://www.tvobjects.com/
2 ApptivitySoftvér Progresshttp://apptivity.progress.com/
3 Úžasná Jawa 1.0Úžasný interaktívny dizajnhttp://www.awesume.se/en/index.htm
4 Bluettebezplatný nástroj RAD Javahttp://blue.donga.ac.kr/bluette/
5 BongoMarimbahttp://www.marimba.com/
6 Internetové vydanie ClarionTopSpeed ​​Corporationhttp://www.topspeed.com/
7 CodeWarrior ProMetroWerkshttp://www.metrowerks.com/desktop/pro/
8 Kozmický kódSGIhttp://www.sgi.com/Products/cosmo/code/index.html
9 ED pre WindowsMäkký ako to len idehttp://www.getsoft.com/ed_java.html
10 ElixírSpoločnosť Elixir Technology Pte Ltdhttp://www.elixir.com.sg/
11 Voľný staviteľKolektív FreeBuilderhttp://www.freebuilder.com/
12 UchopiťProjekt GRASPhttp://www.eng.auburn.edu/grasp/
13 BrúskaVýmena paradigmyhttp://www.tpex.com/features.htm
14 HyperwireKinetixhttp://www.ktx.com/
15 Animátor JambaInterleafhttp://www.jamba.com/
16 JambaInterleafhttp://www.jamba.com/
17 JavaManHartWarehttp://homepage.dave-world.net/~hartware/
18 Java StudioSun Microsystemshttp://www.sun.com/
19 OštepKrok vpredhttp://www.ozemail.com.au/~stepsoft/
20 JaWizSystémy InfinityEdgehttp://www.infinityedge.com/
21 JBuilderInprisehttp://www.inprise.com/jbuilder/
22 JDesignerProBulletProofhttp://www.bulletproof.com/
23 JDE pre EmacsPaul kinnucanhttp://sunsite.auc.dk/jde/
24 JADI SujalShahhttp://dan.hcf.jhu.edu/sujal/winjadi/
25 JIGS Cubedhttp://www.scubed.cc/
26 JipePredstavte si internetové službyhttp://www.users.globalnet.co.uk/~eis/jipe.htm
27 JPadModelWorkshttp://www.modelworks.com/
28 KalimantanReal-Time Enterprises, Inc.http://www.real-time.com/java/kalimantan/index.html
29 KAWATEK-TOOLS, Inc.http://www.tek-tools.com/kawa/
30 LávaDan Pagehttp://www.hnet.demon.co.uk/products/lava/index.html
31 LemurOstrovný dizajnhttp://www.island-design.co.uk/
32 NetBeansSpoločnosť NetBeans, Inc.http://www.netbeans.com/
33 OEW 1.0Inovatívny softvérhttp://www.isg.de/OEW/Java/
34 DIELY pre JavuObjectSharehttp://www.objectshare.com/p4j/p4j2info.htm
35 PowerJSybasehttp://www.sybase.com/products/powerj/
36 PražiareňPrirodzená inteligenciahttp://www.roaster.com/roaster/
37 SNiFF +Softvér TakeFivehttp://www.takefive.com/sniff/
38 DuchaeVisNet Limitedhttp://www.evis.net/
39 SuperCedeSpoločnosť SuperCede, Inc.http://www.supercede.com/
40 VisajImperial Software Technologyhttp://www.ist.co.uk/
41 Vízia nefritSoftvér Visionhttp://www.vision-soft.com/
42 VisualAge pre JavaIBMhttp://www.software.ibm.com/ad/vajava/
43 Vizuálna kaviareňSymantechttp://cafe.symantec.com/
44 Visual J++Microsofthttp://www.microsoft.com/visualj/
45 Platforma webových aplikáciíSilverStreamhttp://www.silverstream.com/products/main/main_f.htm
46 Java WebIDEChami.comhttp://www.chami.com/webide/
47 Vytrieťsoftwarebuero m & ambbhttp://www.softwarebuero.de/wipeout-eng.html
48 IntelliJ IDEAIntelliJ IDEAhttp://www.jetbrains.com/idea/
49 Eclipseeclipse.orghttp://www.eclipse.org
50 JDeveloperOraclehttp://www.oracle.com/technology/products/jdev/index.html
51 JCreatorSoftvér Xinoxhttp://www.jcreator.com/
52 jEditjEdithttp://www.jedit.org/
53 X-DevelopOmnicore softvérhttp://www.omnicore.com/
54 Gél IDESpoločnosť GExperts Inchttp://www.gexperts.com/
55 Vývojár aplikácií IBM Web Sphere StudioSoftvér IBMhttp://www-306.ibm.com/software/awdtools/studioappdev/
56 eXtendNOVELLhttp://www.novell.com/products/extend/

Po prvé, spôsob distribúcie, respektíve IDE možno rozdeliť na platené (JBuilder, Visual Cafe ...) a bezplatné (NetBeans, Eclipse, Gel), ktoré si môže ktokoľvek stiahnuť zo stránky výrobcu.

Rozhodli sme sa zdôrazniť druhú vlastnosť klasifikácie, ktorá nie je založená na žiadnych špecifických schopnostiach, pretože podľa tejto funkcie by bolo pravdepodobne možné rozdeliť IDE na neurčito, ale zo súhrnov schopností samotného nástroja a jeho požiadaviek na zdroje. Samozrejme, v tomto prípade je na prvom mieste prítomnosť tvorcu vizuálneho rozhrania, ktorý zase kladie určité požiadavky na zdroje.

Podľa tohto kritéria je možné vyčleniť nástroje, ktoré nemajú vizuálny nástroj na vývoj GUI (jednoduchý), napríklad Gel, JCreator a ktoré majú (komplexné) - JBuilder, Idea.

V súlade s tým prvé v pamäti RAM počas prevádzky zaberajú menej ako 30 MB a druhé viac ako 100 MB. Pokiaľ ide o samotné nástroje vizuálneho vývoja, podľa ich vlastných skúseností a názoru mnohých kolegov programátorov s dlhoročnými skúsenosťami nie je ich použitie pre začínajúcich programátorov vždy opodstatnené, hoci sa zdá, že na jednej strane uľahčujú vývoj, ale na druhej strane na druhej strane sťažuje konceptualizáciu takých základných vecí, ako sú knižnice Swing, ako sú správcovia rozložení, spracovanie udalostí a ďalšie.

Do projektu bola zapojená aj skupina študentov DSTU (obzvlášť by som chcel spomenúť V. Egorenkova a D. Lagutina), ktorí práve začali študovať OOP, ktorých úlohou bolo zoznámiť sa s IDE pre Javu, nainštalovať ich, opraviť parametre pri načítavaní, vydávanie ich pripomienok a v konečnom dôsledku nezávislý výber prostriedkov pre prvotnú prácu. Výsledky testu sú zhrnuté v tabuľke 4.

Tabuľka 4. Výsledky testovania nástrojov IDE
možnostiGeIJСreator 3.5JBuilder XNápad 5NetBeans 4.1
Čas inštalácie1 sek1-1,5 sek58 sek22 sek50 sek
veľkosť nainštalovaného balíka10,3 MB6,49 Mb332 MB157 Mb118 MB
Veľkosť distribúcie4,21 Mb3,6 Mb178 Mb51,6 MB46,4 MB
Beh5 s1-1,5 sek9 sek6 sek6 sek
Obsadené miesto v RAM17828 kb12 960 kb74128 kb65604 kb61409 kb
Obsadené množstvo virtuálnej pamäte9020 kb14960 kb78588 kb76416 kb70406 kb

* Pre základnú konfiguráciu bol použitý stroj založený na: CPU Athlon64 3000+; RAM - 1024 MB DDR-SDRAM (pc3200)

Potom sa uskutočnil seminár, na ktorom boli zhrnuté výsledky práce, v dôsledku čoho sa zistilo, že v počiatočnej fáze práce, keď prebieha proces štúdia syntaktických vlastností jazyka, existuje nie je potrebné používať možnosti, ktoré predstavujú zložité IDE, aj keď, samozrejme, mnohí sa zaujímali o spôsoby rýchleho rozvoja rozhrania, pretože táto funkcia je najintuitívnejšia a umožňuje vám okamžite získať výsledky. Ako však viete, vývoj rozhrania je neoddeliteľnou, ale nie najdôležitejšou súčasťou aplikácie. A zvýšené požiadavky na zdroje na strane zložitých IDE, najmä vzhľadom na skutočnosť, že nie všetky domáce počítače študentov majú dokonca 512 MB RAM, poskytujú nepopierateľné výhody jednoduchému IDE, preto bol Gel uznávaný ako líder medzi študentmi spomedzi všetkých dostupných IDE.

názov% hlasovstupňa
1 JBuilder21.47 3.0
2 Eclipse16.64 3.3
3 NetBeans14.22 2.9
4 IntelliJ IDEA11.66 3.5
5 JDeveloper7.11 2.8
6 Visual J++5.26 1.8
7 JCreator4.26 2.3
8 VisualAge pre Java3.69 2.8
9 Java Studio3.41 2.0

Na základe toho analyzujme, z akých pozícií pristupuje programátor k nezávislému výberu nástroja.

  1. Rozhranie. Ide o prvý komponent, s ktorým sa používateľ po inštalácii stretne a ktorý tvorí prvý dojem z programu a na základe ktorého sa dá urobiť konečný výber. Tu sa posudzuje nielen celkový dizajn, aj keď, samozrejme, určitým spôsobom tiež ovplyvňuje, ale aj pohodlnosť umiestnenia a konfigurácie takých komponentov, ako je okno zdrojového kódu, okno projektu atď.
  2. Prispôsobenie. Podľa toho sa po inštalácii a prvom spustení vývojového prostredia nakonfiguruje, t.j. cesty, kde sa nachádza nainštalovaný SDK, DOCS, J2EE. V tejto zložke sa spravidla nepozorujú žiadne významné rozdiely. Okrem toho moderné nástroje spravidla nezávisle určujú nainštalované komponenty.
  3. Editor kódu. Nastavenie zobrazenia zdrojových kódov sa spravidla tiež nelíši v rozmanitosti, v akomkoľvek nástroji môžete ľahko prispôsobiť veľkosť bodu a jeho veľkosť, ako aj farbu. Nezanedbateľnou výhodou je prítomnosť pomocníka, kedy pri „nabehnutí“ myšou na akúkoľvek premennú alebo metódu vyskočí pomerne podrobný ToolTip (kontextové okno), v ktorom sú rozbalené všetky parametre objektu. Nechýba ani veľa pekných drobností, výstup číslovania riadkov, zobrazenie štruktúry tried, zobrazenie znakov odstavcov, kontrola pravopisu.

Po analýze všetkých nástrojov IDE, ktoré dnes existujú, môžete vidieť, že medzi nimi nie sú žiadne významné rozdiely okrem dizajnu rozhrania a samozrejme, že koncept pohodlia je subjektívny.

Analýza výsledkov prieskumu, tabuľky 5.6. Ako je uvedené vyššie, v našom prieskume boli nástroje rozdelené do dvoch skupín, na tie, ktoré sa používali predtým a ktoré sa používajú v súčasnosti. A ak medzi prostriedkami, ktoré boli v minulosti využívané, je rôznorodosť, vybrali sme fondy, ktoré získali viac ako 3 % hlasov z celkového počtu tých, ktorí sa zapojili do prieskumu, tak medzi tie, ktoré sa v súčasnosti využívajú, patrí žiadna taká rozmanitosť a boli sme nútení znížiť percento hlasov a aj napriek tomu nezískali veľkú rozmanitosť.

Ako vidíte, „jednoduchý“ nástroj IDE JCreator je stálym účastníkom výberov, čo sa zjavne vysvetľuje tým, že sa dá pomerne ľahko naučiť a nie je náročné na zdroje, a preto je populárny medzi začínajúcimi programátormi. JBuilder stratil pôdu pod nohami, samozrejme, pretože bezplatné nástroje ako Eclipse a NetBeans ho začali prekonávať. Eclipse by mal byť uznaný ako nesporný vodca, pretože nestratil svoje pomerne vysoké pozície, ale dokonca pridal. Popularita JDeveloper by mala byť pripísaná jeho zameraniu na Oracle DBMS. Popularita IntelliJ IDEA je spôsobená tým, že v určitom čase boli vývojári schopní predstaviť produkt s výkonnými schopnosťami a už niekoľko rokov si celkom úspešne udržuje svoju značku na vysokej úrovni, čo je tiež potvrdili vysoké hodnotenia používateľov.

Vo všeobecnosti treba poznamenať, že výsledky hodnotenia boli predvídateľné, otázka sa týkala len rozdelenia kresiel, no prekvapením pre autorov bolo, že NetBeans získal relatívne malé percento hlasov, najmä vzhľadom na možnosti Najnovšia verzia.

Analýza dôvodov pre výber nástroja IDE ukázala, že výber nástrojov prvej generácie sa spravidla uskutočnil náhodou alebo na základe výsledkov nezávislej analýzy, čo je prirodzené, pretože v tom čase prebiehal proces prebiehala tvorba jazyka samotného a vývojových nástrojov. Fondy druhej generácie boli vybrané najmä na základe nezávislej analýzy alebo rady od priateľa. Je to pravdepodobne spôsobené skutočnosťou, že v tom čase sa vytvoril okruh profesionálnych programátorov Java a trh hlavných vývojárov nástrojov IDE.

Tabuľka 7. Dôvody pre výber IDE

IntelliJ IDEA, Eclipse a NetBeans sú teda súčasnými lídrami medzi vývojovými nástrojmi Java IDE. Vo všeobecnosti majú všetky približne rovnakú funkčnosť a je dosť ťažké posúdiť, ktorý z nich je najlepší. Preto sa pri výbere nástroja, samozrejme, musíte zamerať na IDE, na ktorom sa projekt vyvíja, ak sa programátor pripojí k vývojovému tímu, alebo vybrať ten najdostupnejší, ak plánujete vyvinúť nezávislý projekt.

Zoznam použitých zdrojov

  1. Zhmailov B.B. Výhody a nevýhody vývoja programov Java bez použitia nástrojov IDE. Časopis "Bulletin počítačových a informačných technológií" číslo 6, 2006.
  2. , Sergey Berdachuk, "Oracle JDeveloper 10g - Java Application Development Environment"
  3. , Alexey Litvinyuk, „Úvod do integrovaného vývojového prostredia Eclipse“
  4. , Alexander Demyanenko, "Stručný prehľad IDE - Jbuilder"
  5. , Alexander Demyanenko, "IDE Overview - Idea"
  6. , Boris Zhmailov, "Stručný prehľad IDE - Gel"
  7. Prehľad nástrojov automatického refaktorovania v Java IDE.

Predstavujeme vám úpravu článku Martina Hellera, programátora a editora zdroja JavaWorld. Pravdepodobne ste už počuli o troch najlepších IDE pre vývoj Java. Asi 90 percent priemyselných programátorov používa Eclipse, NetBeans alebo IntelliJ IDEA a každé IDE má svoje výhody a nevýhody. V tomto článku sa ich pokúsime popísať, aby ste pochopili, ktorý je pre vás ten pravý. Aj keď, samozrejme, najlepšie je vyskúšať si v práci všetky tri a zistiť, ktorá vám najviac vyhovuje. Toto sa nedá nahradiť žiadnou recenziou. S týmito IDE som už predtým pracoval, ale pre tento výskum som nainštaloval IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE a NetBeans 8.1 Java EE na laptop MacBook Pro. Testoval som IDE na niekoľkých open source Java projektoch.

Čo očakávať od IDE

Moderný „zdravý Java developer“ IDE by mal podporovať Java 8, Scala, Groovy a ďalšie jazyky virtuálnych strojov Java, ktoré pravidelne používa. Podpora hlavných aplikačných serverov a najpopulárnejších webových rámcov, vrátane Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails a Vaadin, by nebola zbytočná. IDE musí byť kompatibilné so všetkými zostavami systémov na správu verzií, ako sú Ant, Maven alebo Gradle, spolu s Git, SVN, CVS, Mercurial alebo Bazaar. Okrem toho je pre vývojové prostredie dôležité vedieť pracovať s databázami a klientskou vrstvou vášho stacku, mať podporu pre embedded JavaScript, TypeScript, HTML, SQL, JavaServer Pages, Hibernate, ako aj Java Persistence API . Nakoniec je logické dúfať, že IDE vám umožní upravovať, stavať, ladiť a testovať systémy bez zbytočného stresu. Ideálne je, ak vývojové prostredie podporuje nielen inteligentné dopĺňanie kódu, ale aj inteligentné refaktorovanie a metriky kódu. V mnohých prípadoch bude užitočná podpora pre testovanie rámcov a stubov. Ak váš tím používa systém lístkov a CI / CD, potrebujete IDE, aby ste sa k nim mohli pripojiť. Rozhodnite sa tiež, či potrebujete nasadenie a ladenie v kontajneroch a cloudoch. Uviedli sme len hlavné očakávania (možno máte čo dodať) a teraz sa poďme bližšie pozrieť na našich súperov.

IntelliJ IDEA


IntelliJ IDEA prichádza v dvoch variantoch z hľadiska funkcií a ceny: bezplatná edícia Community a platená edícia Ultimate s rozšírenými funkciami. Komunitná edícia je určená pre vývoj JVM a Androidu. Bezplatná verzia podporuje Java, Kotlin, Groovy a Scala; Android; Maven, Gradle a SBT; pracuje so systémami na správu verzií Git, SVN, Mercurial a CVS. Edícia Ultimate je prispôsobená pre webový a podnikový vývoj. Táto verzia IDE funguje nielen s Git, SVN, Mercurial a CVS, ale aj s Perforce, ClearCase a TFS; v ňom môžete písať v JavaScripte a TypeScripte; samozrejmosťou je podpora pre Java EE, Spring, GWT, Vaadin, Play, Grails a množstvo ďalších frameworkov. A, samozrejme, nie bez SQL a databázových nástrojov. Myšlienkou, ktorou sa riadia vývojári tohto IDE pri tvorbe cenovej politiky, je, že jeho komerčná verzia (Ultimate) zaujme svoje miesto na počítačoch profesionálov, vďaka čomu sa zvýši ich produktivita. Ak programátor Java zarobí 50 000 dolárov (alebo dokonca viac) ročne, návratnosť investícií vynaložených na platené IntelliJ IDEA IDE (500 dolárov za ročné predplatné) sa vďaka čo i len miernemu zrýchleniu jeho práce stane veľmi rýchlo. V ďalších rokoch cena pre podnikanie klesá, pre startupy, freelancerov je výrazne nižšia a pre študentov, učiteľov, šampiónov Java a open source vývojárov je úplne zadarmo. IntelliJ IDEA zaujme hlbokým pochopením kódu, inteligentnou ergonómiou, vstavanými vývojovými funkciami a podporou mnohých jazykov.
Obrázok 1. IntelliJ IDEA zobrazuje počet varovaní a predpokladov na základe štatistickej analýzy kódu Java. Predpoklady môžete podrobnejšie preskúmať kliknutím na ne, ako je znázornené na obrázku; v mnohých prípadoch dostanete zoznam s možnosťami a možnosťami opráv.

Hlboké pochopenie kódu

Zvýraznenie syntaxe a jednoduché dokončenie kódu sú bežné v každom modernom editore Java. IDEA to posunula o krok ďalej a ponúkla „inteligentné dokončovanie“. Tento výraz znamená, že vývojové prostredie zobrazuje zoznam najrelevantnejších symbolov, ktoré sú použiteľné v danom kontexte. Zoznam symbolov závisí nielen od kontextu ako takého, „všeobecne akceptovaného“, ale od štýlu programovania vývojára, od toho, ako často používa určité operátory. "Koniec reťazca" v skutočnosti zobrazuje zoznam použiteľných znakov, ktoré sú povolené prostredníctvom metód alebo getterov v aktuálnom kontexte. Navyše, v prípade statických členov alebo konštánt IDEA automaticky pridáva všetky požadované importné príkazy. Vo všetkých prípadoch automatického dopĺňania sa IDEA snaží uhádnuť typ symbolu za behu, spresniť jeho výber a v prípade potreby dokonca použiť odliatok. Kód Java často obsahuje úryvky z iných jazykov ako reťazce. IDEA dokáže vložiť kód SQL, XPath, HTML, CSS alebo JavaScript do reťazcových literálov Java. V tomto zmysle môže IDE refaktorovať kód vo viacerých jazykoch. Ak napríklad premenujete triedu v mapovaní JPA, IDEA aktualizuje zodpovedajúcu entitu JPA a triedu výrazov. Pri refaktorovaní časti kódu má vývojár jednu (celkom prirodzenú) túžbu: aby sa refaktorovali aj všetky duplikáty tohto kódu. IDEA Ultimate nájde duplikáty a podobné fragmenty a tiež ich zrefaktoruje. IntelliJ IDEA analyzuje kód pri načítaní a priamo na vstupe. Označuje podozrivé problémy (ako na našom obrázku vyššie) a voliteľne ponúka zoznam pravdepodobných rýchlych opráv zistených problémov.

Ergonómia


IntelliJ IDEA je navrhnutý tak, aby vývojára nevyviedol zo stavu produktivity streamovania, ak sa v ňom už nachádza. Okno projektu zobrazené na prvom obrázku vľavo zmizne jednoduchým kliknutím myši, aby sa programátor mohol sústrediť na okno editora kódu. Pre všetky úkony, ktoré sú potrebné pri písaní kódu, existujú klávesové skratky pre ich skratku, vrátane definície symbolov vo vyskakovacích oknách. Spočiatku sú všetky tieto kombinácie ťažko zapamätateľné, ale postupne si na ne zvyknete a iba ich používate. Napriek tomu, aj keď programátor nepoužíva kombinácie kláves, ako ukazuje prax, na prácu v IDEA si zvykne rýchlo a jednoducho. Osobitne by som chcel poznamenať ladiaci program IDEA: hodnoty premenných sa zobrazujú priamo v okne editora vedľa príslušného zdrojového kódu. Keď sa zmení stav premennej, zmení sa aj farba zvýraznenia.

Vstavané nástroje

IntelliJ IDEA poskytuje konzistentné rozhranie na interakciu s väčšinou systémov na správu verzií, vrátane Git, SVN, Mercurial, CVS, Perforce a TFS. Zmeny môžete spravovať priamo v IDE, čo je veľmi pohodlné. Keď som testoval IDEA, mal som túžbu, aby sa posledná zmena v zdrojovom kóde zobrazila v okne editora ako anotácia (ako sa to stáva napríklad vo Visual Studiu). Ako sa ukázalo, IDEA má na to špeciálny plugin. IDEA má tiež nástroje na zostavovanie, testovací runtime, nástroje pokrytia a vstavané okno terminálu. IntelliJ nemá vlastný profiler, no možno k nemu pripojiť pluginy tretích strán. Napríklad YourKit od bývalého vedúceho vývojára JetBrains alebo VisualVM (toto je prebalená verzia NetBeans Profiler). Ladenie v Jave môže byť mučivé, keď sa triedam, ku ktorým nemáte zdroj, dejú divné veci. IDEA prichádza s dekompilátorom pre takéto prípady. Programovanie Java na strane servera zahŕňa časté interakcie s databázou, takže programátori IDEA Ultimate ocenia pohodlie SQL a databázových nástrojov. Ak by ale niekomu ich možnosti nestačili, môžete si zakúpiť verziu IDEA Ultimate so vstavaným SQL IDE (DataGrip). Je pravda, že to bude o niečo drahšie ako bežné predplatné IDEA Ultimate. IntelliJ IDEA podporuje všetky hlavné aplikačné servery JVM a umožňuje vám nasadenie a ladenie na týchto serveroch, čím eliminuje známe ťažkosti, ktoré poznajú programátori Java Enterprise. IDEA podporuje aj Docker (pomocou pluginu, ktorý do vývojového prostredia pridáva špeciálne okno nástrojov Docker. Mimochodom, IDEA má more pluginov).

Skutočný polyglot

IDEA má rozšírenú podporu kódu pre platformy Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS a ďalšie. Pravdepodobne ste si všimli, že nie všetky sú špecifické pre Javu. IDEA hneď po vybalení „rozumie“ ďalším jazykom – Groovy, Kotlin, Scala, JavaScript, TypeScript a SQL. Ak v tomto zozname nenájdete požadovaný jazyk, v súčasnosti existuje 19 jazykových doplnkov IntelliJ, konkrétne na podporu R, Elm a D.


Eclipse si už mnoho rokov s istotou drží popularitu medzi Java IDE. Toto prostredie je úplne zadarmo, open source, napísané primárne v Jave. Jeho modulárna architektúra však umožňuje používať Eclipse aj s inými jazykmi. Projekt Eclipse, ktorý iniciovala spoločnosť IBM, sa objavil v roku 2001. Chceli nahradiť rodinu vývojových prostredí IBM Visual Age založených na Smalltalku. No, hlavným cieľom, ako už názov napovedá, bolo zatieniť Microsoft Visual Studio (eclipse v angličtine znamená zatmenie). Prenosnosť Java pomáha Eclipse byť multiplatformovým: Toto IDE beží na Linuxe, Mac OS X, Solaris a Windows. Či už je to lepšie alebo horšie, Java Standard Widget Toolkit (SWT) je aspoň čiastočne zodpovedný za vzhľad a dojem z Eclipse. Eclipse vďačí za svoj výkon (alebo, ako niektorí priaznivci hovoria, za nedostatok) JVM. Eclipse je dosť pomalý, pretože má svoje korene v dosť starom hardvéri a starých verziách JVM. Dokonca aj dnes sa zdá byť pomalý, najmä s množstvom doplnkov, ktoré sú k nemu pripojené. Časť réžie Eclipse možno pripísať jeho vstavanému inkrementálnemu kompilátoru, ktorý sa spúšťa pri každom načítaní súboru alebo aktualizácii kódu. Užitočná vec, práve ona zachytáva chyby pri zadávaní textu. Bez ohľadu na zostavenie projekt Eclipse udržiava model obsahu, ktorý obsahuje informácie o hierarchii typov, referenciách a deklaráciách prvkov Java. Aktuálna verzia Eclipse má názov Neon (4.6.0). Nainštaloval som Eclipse Java EE IDE pre Web Developers (toto zďaleka nie je jediná možnosť, môžete si vybrať niečo iné). Obsahuje minimálne Eclipse SDK a doplnky sa pridávajú na požiadanie. Mimochodom, práca s pluginmi v tomto IDE nie je pre slabé povahy. Doplnky tretích strán sú často v konflikte, hoci ich oficiálna špecifikácia o tom nič nehovorí.
Obrázok 2. Zľava doprava sú v Eclipse štyri panely nástrojov: Package Explorer, Java Editor, Java Class Structure a Task List. Projekt načítaný do Eclipse na tomto obrázku je testovací rámec JUnit. Panely sa dajú jednoducho vymieňať.

Podpora pluginov

Ekosystém doplnku Eclipse je silnou stránkou tohto IDE a zároveň jedným z jeho hlavných problémov. Práve kvôli nekompatibilite doplnkov niekedy zlyhávajú celé zostavy a programátori musia začať odznova. V súčasnosti existuje viac ako 1 700 pluginov napísaných pre Eclipse, oficiálnych aj neoficiálnych, ktoré môžu alebo nemusia fungovať veľmi dobre. Zásuvné moduly Eclipse podporujú viac ako 100 programovacích jazykov a takmer 200 rámcov na vývoj aplikácií. Podporovaná je aj väčšina serverov Java: ak určíte nové pripojenie k serveru z Eclipse, dostanete sa do zoznamu priečinkov dodávateľa, kde nájdete približne 30 aplikačných serverov. Len Apache Tomcat bude k dispozícii deväť variantov. Komerční predajcovia majú tendenciu dávať svoje riešenia dokopy: napríklad existuje len jeden Red Hat JBoss Middleware a vo vnútri nájdete serverové nástroje WildFly a EAP, ako aj JBoss AS.

Úpravy, refaktorovanie a ladenie

Prvá skúsenosť s Eclipse môže byť mätúca a dokonca mätúca. Najprv si musíte nastaviť Eclipse a zvyknúť si na jeho koncepčnú architektúru pre pracovné priestory, zobrazenia a zobrazenia. To všetko určujú doplnky, ktoré ste nainštalovali. Na vývoj Java na strane servera pravdepodobne použijete zobrazenia prehliadania Java, Java EE a Java, zobrazenie Prieskumníka balíkov, zobrazenie ladenia, zobrazenie synchronizácie príkazov webových nástrojov, zobrazenie vývoja databázy a zobrazenie ladenia databázy. .. V praxi to všetko dáva zmysel, keď otvoríte okná, ktoré chcete. Eclipse takmer vždy ponúka niekoľko spôsobov, ako splniť danú úlohu. Kód môžete napríklad zobraziť pomocou perspektívy prehliadania Java. Čo si vybrať, je vecou vkusu a výberu. Java Custom Search vám umožňuje nájsť deklarácie, referencie a výskyty Java balíkov, typov, metód, polí. Môžete tiež použiť rýchly prístup na vyhľadávanie a náhľad. Spoločné vzory kódu možno vygenerovať zo vzorov kódu. Java refactoring v Eclipse podporuje 23 operácií, od bežných premenovacích operácií až po menej zrejmé konverzie (ako v knihe Martina Fowlera). Eclipse podporuje lokálne aj vzdialené ladenie za predpokladu, že používate JVM, ktorý podporuje vzdialené ladenie. Ladenie je celkom štandardné: definujete body prerušenia a potom si premenné zobrazíte na karte ladenia. Samozrejme, môžete prechádzať kódom a vyhodnocovať výrazy. Eclipse má rozsiahlu databázu dokumentácie všetkých vekových kategórií, hodnôt a užitočnosti. Bohužiaľ, nájsť v príručke obrázok, ktorý nezodpovedá aktuálnej verzii, napríklad so zastaraným rozhraním a rozložením tlačidiel, je pre toto IDE bežná vec. Bohužiaľ, problém neskorých aktualizácií dokumentácie je veľmi bežný pre všetky projekty so zdrojovým kódom.


NetBeans začal ako študentský univerzitný projekt v Prahe v roku 1996. V roku 1997 sa IDE stalo komerčným produktom av roku 1999 ho kúpila spoločnosť Sun Microsystems (rodičia Java) a nasledujúci rok predstavila vydanie s otvoreným zdrojom. Aktuálna verzia 8.1 beží na počítačoch so systémom Windows, Mac OS X, Linux a Solaris. No, prenosný balík možno spustiť na akomkoľvek systéme, pre ktorý existuje stroj Java. Pre seba som si stiahol balík Java EE, ktorý je jedným zo šiestich možných balíčkov na stiahnutie. Tento balík podporuje JavaScript a HTML, GlassFish a Tomcat, ale nepodporuje PHP, C / C ++ / Fortran, Groovy a Grails: môžete ich získať v balíku All Inclusive (alebo len All). Ak si však želám, môžem si kedykoľvek stiahnuť podporu pre vyššie uvedené jazyky výberom vhodného doplnku (a akéhokoľvek iného). NetBeans ich má menej ako Eclipse, ale zvyčajne nie sú v konflikte. Túto jeseň sa spoločnosť Oracle (zdedila NetBeans po prevzatí Sun Microsystems) rozhodla presunúť toto vývojové prostredie pod krídla Apache Software Foundation spolu so všetkými právami, zdrojovým kódom, ochrannou známkou, doménou netbeans.org a množstvom ďalšej infraštruktúry. prvkov. Budúcnosť projektu je preto stále nejasná, hoci predtým mal systém určité príbuzné privilégiá. Takže to bol NetBeans, kto prvýkrát dostal podporu pre Java 8 takmer okamžite po vydaní aktualizovanej platformy a bol nazvaný „oficiálnym IDE pre Java 8“. Mesiac po vydaní sa však táto výhoda stratila: práve vtedy dostali podporu pre ôsmu Javu aj ostatné IDE. Chcem však poukázať na to, že podpora Java 8 od NetBeans je naozaj dobrá a toto IDE je skvelé na prepletanie trikov verzie 8 do „staršieho“ kódu. Jeho editory, analyzátory kódu a konvertory pomôžu programátorovi aktualizovať kód pomocou konštrukcií typických pre Java 8 - lambda výrazov, operátorov funkcií a odkazov na metódy. Doplnky JavaScriptu v NetBeans 8 odvádzajú vynikajúcu prácu pri podpore Node.js a najnovších nástrojov JavaScriptu, ako sú Gulp a Mocha, ako aj pri podpore interpreta JavaScriptu Nashorn.
Obrázok 3. Tu NetBeans pracuje s rovnakým projektom založeným na Maven, ako bol IntelliJ IDEA otvorený na obrázku 1. Všimnite si rozšírenú funkčnosť v kontextovom menu a refaktoringových podmenu

Úprava a refaktorovanie

NetBeans Editor podporuje jazyky, zisťuje chyby pri písaní a pomáha vám pomocou tipov a inteligentného dokončovania kódu. Subjektívne sa IDE s touto úlohou vyrovná rýchlejšie ako Eclipse, ale o niečo pomalšie ako IntelliJ IDEA. Okrem toho má NetBeans celý rad nástrojov na refaktorovanie (ako je znázornené na obrázku 3), ktoré umožňujú programátorovi reštrukturalizovať kód bez jeho porušenia, vykonávať analýzu zdroja a ponúka širokú škálu tipov na rýchle opravy alebo rozšírenia kódu. NetBeans obsahuje návrhový nástroj pre Swing GUI, predtým známy ako „Project Matisse“. Vývojári oceňujú automatický refaktorovací nástroj Inspect & Transform predstavený v NetBeans 7.1. Umožňuje vám analyzovať kód projektu a navrhovať vylepšenia. Osobne však uprednostňujem najskôr otestovať celý svoj vlastný kód pomocou jednotkových testov a až potom spustiť nástroje, ktoré dokážu urobiť radikálne zmeny. Opakovane som trpel všetkými druhmi automatických opráv, ktoré viedli k nenapraviteľným následkom.

Zostavovanie, ladenie a profilovanie

NetBeans má skvelú vstavanú podporu pre Maven a Ant, ako aj doplnok pre Gradle. Bol som nesmierne šťastný, keď som zistil, že Maven projekty sú systémom vnímané ako natívne. To znamená, že sa dajú jednoducho otvoriť a nie importovať. NetBeans tiež obsahuje atraktívne (a užitočné) grafické zobrazenie pre závislosti Maven. NetBeans Java Debugger nie je zlý, ale s výhradami. Samostatný vizuálny debugger umožňuje programátorovi robiť snímky GUI a skúmať rozhrania aplikácií vytvorených pomocou JavaFX a Swing. NetBeans Profiler objasňuje, ako sa využíva CPU a pamäť, a má vynikajúce nástroje na vyhľadávanie únikov pamäte.

Porovnanie troch obrov

Použil som všetky tri IDE, Eclipse, NetBeans a IntelliJ IDEA, v priebehu rokov, v chronologickom poradí. Vždy, keď som prešiel na iné IDE, cítil som, že sa moja produktivita zvýšila. Ale aj keď som bol pevne presvedčený, že mojou konečnou voľbou je IDEA, niekedy som sa musel vrátiť k jednému z dvoch zostávajúcich IDE. Bolo tomu tak napríklad v čase, keď bol Eclipse jediným nástrojom, ktorý podporoval vývoj pre Android (dnes je tu Android Studio, aktuálne oficiálne IDE pre Android, je založené na IntelliJ IDEA). Samozrejme, všetky tri IDE majú svojich fanúšikov aj odporcov. Poznám veľa vývojárov Java, ktorí milujú IntelliJ IDEA, ako aj verných fanúšikov Visual Studio C ++ a C #. Títo ľudia sú častejšie spokojní so skutočnosťou, že ich produktivita sa zvýšila a náklady na ročné predplatné sa vrátia už za pár týždňov používania platenej verzie IDEA. Používatelia NetBeans a Eclipse sú však často viazaní na svoje nástroje a čudujú sa, prečo by iní programátori platili peniaze za IDEA. Pre začínajúcich vývojárov Java by som vám odporučil držať sa ďalej od Eclipse. Napriek tomu, že je to stále najpopulárnejšie IDE pre Javu, pre začiatočníkov je to s ním ťažké: je ľahké sa stratiť v divočine Eclipse počas nasadzovania systému aj počas každodennej práce. Eclipse má najrozsiahlejší ekosystém doplnkov spomedzi všetkých IDE a tiež s najväčšou pravdepodobnosťou zlyhá v dôsledku inštalácie nekompatibilnej sady rovnakých doplnkov. Žiaľ, pri používaní Eclipse som musel opakovane odstraňovať ďalšiu rozbitú zostavu tohto IDE a inštalovať „čistý“ zväzok. NetBeans je dobrý pre väčšinu vývojárov, má skvelý profiler a občas ho používam. Radšej si však zaplatím za IntelliJ IDEA Ultimate. A budúcnosť NetBeans je stále nejasná. Pre začiatočníkov v jazyku Java, ktorí ešte nemajú nástroje na nákup nástrojov, odporúčam použiť NetBeans alebo IntelliJ IDEA Community Edition v závislosti od ich potrieb. Prvý by mal byť vybraný pre tých, ktorí kódujú Java servery, ale iba ak nepatríte do kategórie tých, ktorí môžu získať IntelliJ IDEA Ultimate zadarmo alebo s obrovskou zľavou (študenti alebo tí programátori, ktorí vyvíjajú open source projekt) .

Ľahké Java IDE

Väčšina vývojárov Java dnes používa IDEA, NetBeans alebo Eclipse, ale niekedy sa objaví potreba ľahších IDE alebo dokonca editorov kódu ako Sublime Text, emacs alebo vim, ktoré podporujú Java pluginy. Nižšie uvádzam rozumné možnosti pre tých, ktorí hľadajú niečo jednoduchšie:
  • DrJava je malé bezplatné vývojové prostredie. Bola vytvorená pre študentov na Rice University a stala sa veľmi populárnou: DrJava bola stiahnutá už viac ako 2 milióny krát. DrJava sa zaviazala k testom riadenému vývoju. Prostredie obsahuje inteligentný editor kódu, interakčný panel na vyhodnotenie aplikačného kódu, ladiaci program na úrovni zdroja a nástroje na testovanie jednotiek.
  • BlueJ je bezplatné vývojové prostredie Java vytvorené University of Kent pre začínajúcich programátorov. Toto prostredie podporuje Oracle. BlueJ má oveľa stručnejšie a jednoduchšie rozhranie ako profesionálne IDE ako NetBeans alebo Eclipse a dokonca obsahuje špeciálny návod na základy OOP.
  • JCreator je ďalšie malé Java IDE pre Windows napísané v C ++ (z dôvodov výkonu). Platená verzia Pro má debugger, podporu Ant a sprievodcov kódom, ale bezplatná verzia (LE) nie.
  • Eclipse Che je cloudové IDE založené na prehliadači, ktoré podporuje Java, C ++, JavaScript, Python, PHP, Ruby a SQL.

Výber Java IDE v závislosti od projektu

Pokúsil som sa popísať dôležité výhody každého z troch najvýznamnejších Java IDE a mimochodom spomenúť ich užitočných malých rivalov. Ak chcete vybrať správne IDE, musíte zvážiť klady a zápory a prispôsobiť ich vašim potrebám a potrebám vašich projektov. Ak sa pripájate k tímu, bude rozumné použiť rovnaké IDE ako ostatní vývojári, aj keď to nie je povinné. Ak váš tím hosťuje zdroj na GitHub, bude prirodzene pohodlnejšie, ak vaše IDE podporuje GitHub. Áno, môžete spracovať prenos kódu bez IDE pomocou klienta GitHub alebo príkazového riadku git. Aké efektívne však budú takéto skoky medzi rôznymi systémami? Je tiež dôležité, aby IDE udržiavalo zostavovací systém. Napríklad, ak je to Maven, pravdepodobne nebudete chcieť prestavať systém v Ant na lokálne testovanie. Našťastie všetky tri veľké Java IDE podporujú Ant, Maven a Gradle, a to buď po vybalení z krabice, alebo s doplnkom. Ale pre "malé" IDE to nemusí byť pravda. Je prirodzenou túžbou, aby vývojové prostredie podporovalo verziu JRE, ktorá je použitá v projekte. Ak sa verzie nezhodujú, je pravdepodobné, že dostanete veľa zbytočných chýb, ktoré sa vám napríklad objavia, zatiaľ čo ostatní členovia tímu nie. Je nepravdepodobné, že takáto situácia bude mať dobrý vplyv na vašu karmu. Úprimne povedané, nezrovnalosti JRE sa pravdepodobne vyskytnú pri chybách konfigurácie ako pri absencii podpory IDE, pokiaľ sa IDE ešte neaktualizuje na novú verziu Java. Len mi verte: ak vaše IDE plne podporuje rámce a technológie, ktoré sa v projekte používajú, skutočne to pomáha urýchliť vašu prácu. Pravdepodobne to dokážete aj tak. Ak však IDE rozumie, ako sa JPA príkazy týkajú entít a tried výrazov JPA (ako IntelliJ), strávite oveľa menej času kódom súvisiacim s JPA ako v prípade úplného nepochopenia. No, ak IDE podporuje testovací rámec a kód runner použitý pre projekt, môžete spustiť testy bez zmeny pracovného prostredia. Čo tiež urýchli proces vývoja. Nakoniec sa veci zrýchlia, ak je IDE kompatibilné so systémom sledovania chýb a lístkov projektu. Opäť môžete použiť samostatného alebo webového klienta, povedzme JIRA, ale je ťažké nesúhlasiť s tým, že kontrola lístkov je oveľa rýchlejšia bez zmeny okna a pobytu priamo v IDE.

Bezplatné alebo platené?

Po otestovaní od IntelliJ IDEA Ultimate som nadobudol pocit správneho vývojového prostredia. Akýsi Cadillac sveta IDE. Aj keď to nie je zadarmo, myslím si, že zvýšenie výkonu z jeho používania stojí za ročné predplatné. Pre začiatočníkov, ktorí si nemôžu dovoliť IntelliJ IDEA Ultimate 1-ročné predplatné, odporúčam používať NetBeans cez Eclipse. Samozrejme, že ekosystém zásuvných modulov Eclipse je dnes oveľa rozvinutejší ako akékoľvek iné IDE, ale je veľmi zarastený a neudržiavaný: začínajúci vývojár riskuje, že namiesto ponorenia sa do práce uviazne v džungli IDE. Dotkol som sa aj „odľahčených“ alternatív, z ktorých dve boli navrhnuté špeciálne na vzdelávacie účely. No, ak s jazykmi len začínate a preferujete minimalistické prostredie, prečo nie?

Snažili sme sa pochopiť tú nesmiernosť a pripomenuli sme si niekoľko najpopulárnejších a najuniverzálnejších vývojových prostredí. Skúsenosť sa ukázala ako nie veľmi úspešná, a tak sa tentokrát zameriame len na jeden jazyk, a to Javu. Ak ho ešte len začínate spoznávať, odporúčame vám prejsť.

Po stanovení 7 nominácií subjektívne určíme najlepších z najlepších:

Najlepšie bezplatné IDE: NetBeans

NetBeans je najvýkonnejšie open source vývojové prostredie pre webové, mobilné a desktopové aplikácie. Funguje so systémami Linux, Windows, MacOS a dokonca aj Oracle Solaris.

Napriek tomu, že NetBeans umožňuje pracovať vo viacerých jazykoch, vo vývojovom prostredí sa považuje za orientované na Javu. Dobre spolupracuje s JPA, JSP, Struts, Spring a knižnicou Hibernate.

Najlepšie komerčné IDE: IntelliJ IDEA

V skutočnosti IntelliJ IDEA prichádza v dvoch verziách, z ktorých jedna je úplne zadarmo – Free Community Edition. Navyše, pre začínajúceho vývojára tento balík stačí s hlavou. Na tejto verzii je založené najmä Android Studio IDE, o ktorom sa bude diskutovať o niečo neskôr.

V platenej verzii získate podporu pre Spring frameworky (Spring MVC framework, Spring Security, Spring Boot, Spring Integration atď.), Node.js, Angular React, Grails, možnosť používať ďalšie jazyky (javascript, typescript , coffeescript) a komunikovať s takmer siedmimi populárnymi servermi (Tomcat, TomEE, GlassFish, JBoss, WildFly, Weblogic, WebSphere, Geronimo, Virgo atď.).

Najpopulárnejšie IDE: Eclipse

Je takmer nemožné poskytnúť presné číslo, ale takmer každý vývojár Java s viac ako 2-ročnými skúsenosťami narazil na toto IDE. Eclipse sa stal víťazom tejto nominácie vďaka svojej veľkej komunite, množstvu užitočných informácií a nespočetnému množstvu pluginov. Rovnako ako jeho predchodcovia, Eclipse podporuje viacero jazykov, ale je vnímaný ako Java.

Najuniverzálnejšie IDE: JDeveloper

Ďalší produkt od spoločnosti Oracle s množstvom výhod, vrátane podpory systému správy verzií a cloudovej služby Oracle, obsahuje SQL Developer, PL/SQL dotazovací procesor, WebLogic Server, HTML, CSS, JavaScript, JSF, JSP, WSDL redaktorov a obrovské množstvo všemožných užitočností.

Najlepšie pre Android: Android Studio

Bolo by zvláštne, keby sa víťazom v tejto kategórii stalo nejaké iné IDE. Okrem všetkých možností, ktoré vám dáva pôvodné IntelliJ IDEA IDE, Android Studio obsahuje mnoho doplnkov od Google, či už čisto vizuálnych (rozloženia, formáty, GPU profiler), ako aj funkčných (JUnit 4 a Firebase Test Lab na testovanie a ladenie, systém vytvára Gradle, Instant Run).

Najlepšie IDE pre učenie: DrJava

Presne k tomuto záveru dospel vývojový tím JavaPLT zastupujúci Rice University. To nie je prekvapujúce, ak vezmeme do úvahy, že DrJava je ich duchovným dieťaťom. Ak však necháme žarty bokom, musíme uznať, že DrJava je naozaj perfektná pre začiatočníkov, pretože toto IDE ani nemá za cieľ konkurovať vyššie uvedeným. Jeho hlavnou výhodou je extrémne rýchle nastavenie a prechod na priame písanie kódu. Zvážte BlueJ, JGrasp a Greenfoot ako konkurentov za podobných podmienok.

Najsľubnejšie IDE: MyEclipse

Uvítací titulok na stránke sťahovania znie „Najlepšie Java EE IDE vylepšené pre vývojárov s úplným zásobníkom“. Nuž, toto je veľmi neskromné, vôbec nepodložené faktami, ale po pravde nie ďaleko od pravdy. MyEclipse je v podstate Eclipse, kde je všetko na začiatku „priskrutkované“, „dokončené“ a trochu viac rozšírené. Developer ponúka niekoľko verzií, dve hlavné - štandardnú a profesionálnu. Standard je len Eclipse v novom prostredí a Professional obsahuje mobilný webový simulátor, editor obrázkov, UML editor, šablóny, doplnky - vo všeobecnosti všetko, čo výrazne uľahčí tvorbu produktu.

čo používaš?

Po nainštalovaní všetkých potrebných komponentov je čas vybrať si, pomocou ktorého sa bude vyvíjať programy.

Existujú dva spôsoby: buď pracovať s JDK priamo cez príkazový riadok, alebo použiť integrované vývojové prostredie. Zvážme obe tieto možnosti.

Kompilácia zdrojového kódu cez príkazový riadok

Jednou z možností je zadať celý programový kód do textového editora a potom cez príkazový riadok skompilovať zdrojový kód Java do bajtového kódu a potom tento bajtový kód spustiť.

Nižšie je uvedená postupnosť akcií:

1. Uložte náš zdrojový kód vo formáte * .java (obrázok 2.1).

2. Spustite príkazový riadok a zadajte priečinok so zdrojovým kódom Java (obrázok 2.2).

3. Pomocou príkazu Javac skompilujte zdrojový kód Java do bajtového kódu (obrázok 2.3).

4. Spustite bajtový kód pomocou príkazu Java (obrázok 2.4).

Obrázok 2.1 - Uloženie zdrojového kódu

Obrázok 2.2 - Cesta k priečinku v príkazovom riadku

Obrázok 2.3 - Kompilácia do bajtu - kód

Obrázok 2.4 - Štartovací bajt - kód

Metóda je dobrá, ale málo používaná pri vývoji serióznych aplikácií. Pre malé projekty je všetko v poriadku - skompilujeme celý zdrojový kód a spustíme skompilovaný bajtový kód. Ale ak projekt vo svojej hierarchii už má viac ako desať súborov zdrojového kódu, potom je manuálne kompilovanie extrémne nepohodlné a spomaľuje proces vývoja. Na tieto účely sa odporúča použiť integrované vývojové prostredia.

Java IDE

Kompilácia kódu Java z príkazového riadku sa môže zdať ako ťažkopádna úloha, no napriek tomu ide o nevyhnutnú zručnosť. Ak budete sami postupovať podľa základných krokov práce s JDK, môžete lepšie pochopiť, ako funguje vývojové prostredie. Najčastejšie sa dôrazne odporúča, aby ste sa pred inštaláciou akéhokoľvek IDE (integrovaného vývojového prostredia) naučili pracovať s Java JDK cez príkazový riadok.

Po zvládnutí základných krokov vykonávania programov Java však pravdepodobne budete chcieť použiť profesionálne vývojové prostredie.

V poslednej dobe sa tieto rámce stali tak silnými a pohodlnými, že jednoducho nemá zmysel sa bez nich zaobísť Najbežnejšie IDE pre Javu sú dnes: Eclipse, NetBeans a IDEA. Každé z týchto prostredí má svoje výhody a nevýhody. Osobne som sa z nejakého dôvodu rozhodol pre Eclipse IDE. Po prvé, toto prostredie má veľmi pohodlné klávesové skratky. Pod ním je voľne dostupné obrovské množstvo vývojárskych nástrojov. Aj taká veľká korporácia ako Google osobne napísala množstvo nástrojov pre Eclipse. Pri vývoji napríklad pre OS Android je ťažké nájsť to najlepšie IDE – pre Eclipse je voľne k dispozícii veľmi výkonný Android SDK, na ktorom je vyvinutá viac ako jedna generácia Android aplikácií.

Ak si chcete stiahnuť toto IDE, mali by ste prejsť na odkaz http://www.eclipse.org/downloads/ a vybrať si jedno z navrhovaných riešení (obrázok 2.5).

Obrázok 2.5 - Navrhované riešenia Eclipse

Celkovo je ponúkaných asi dvanásť riešení pre vývojárov rôznych oblastí. Ako vidíte, výber je dostatočne veľký. Pre moju úlohu som si vybral štandardný balík Eclipse Standart. Ďalej si vyberieme požadovaný operačný systém s architektúrou (obrázok 2.6) a začne sa bezplatné sťahovanie tohto prostredia.

Obrázok 2.6 - Výber požadovaného OS a architektúry

Od autora: Zo všetkých jazykov používaných pri vývoji webu je Java najcitlivejšia. Tento PL sa vyznačuje zložitou syntaxou, vysoko typizovanými údajmi a odolnosťou voči chybám. To je dôvod, prečo je tento nástroj pre Java - IDE taký žiadaný. Vývojové prostredie pomáha obísť nástrahy, ktoré čakajú na programátora, ktorý píše v textovom editore. Ak nechcete ísť dlhou a tŕnistou cestou textára, vitajte pri recenzii špičkových vývojových prostredí najvhodnejších pre jazyk kávy.

Vývoj vyžaduje IDE

Java je jedným z tých jazykov, pre ktoré vývojové prostredie nie je rozmarom jednotlivých špecialistov, ale skutočným prostriedkom na prežitie. Zložitý jazyk nemožno čítať a spúšťať, kým nie sú správne nakonfigurované všetky prvky systému. Pre webového vývojára je niekedy ťažké pochopiť, prečo potrebuje taký ťažkopádny a produktívny softvér. Všetky webové jazyky ako HTML / CSS, JavaScript a PHP je možné implementovať bez dodatočného softvéru (hoci pre druhý existuje aj najlepšie platené IDE - PHPStorm). Ale keď príde na Javu, všetko zapadne na svoje miesto. Dlhé a zložité kódové dokumenty nie sú vhodné na manuálnu systematizáciu.

Ale ako vždy, existujú odporcovia ideológie. Niektorí vývojári nazývajú IDE „barlami“, ktoré potrebujú len menej vyškolení programátori. Pre nich je stiahnutie vývojového prostredia ako podvádzanie v základoch. Žiaľ, tento prístup môže vývojára zanechať za vývojom programovania: veľké podnikové projekty, ako napríklad vysoko funkčné webové aplikácie, vyžadujú úzku interakciu medzi členmi tímu, rýchle spustenie a ladenie kódu. Zručnosť práce so základnými IDE je navyše kritériom pre zamestnanie na najlepších pozíciách.

Samozrejme, sú aj takí, ktorí vedia svoje vývojárske nástroje vyladiť tak dobre, že plnohodnotné IDE sa stáva nepotrebným. Nech je to akokoľvek, vývojové prostredie spotrebúva prostriedky zariadenia, ktoré sú potrebné na napájanie zvyšku vývojárskych nástrojov. Vidno to najmä v zastaraných verziách Windows/Linuxu – akonáhle sa spustí vývojové prostredie, ostatné zdroje zaznamenajú stagnáciu.

Vývojári na webe takmer vždy uprednostňujú textové editory. Sú ľahšie a umožňujú vytvárať riešenia na kolene. Žiadne ďalšie nástroje, žiadne hlboké prispôsobenie a rozsah softvéru je oveľa širší. Toto je názor, ktorý zastávajú weboví programátori, kým nezačnú s Java.

Chcem si vybrať program

Programátorský priemysel ponúka mnoho riešení na generovanie kompletného kódu. To platí najmä pre rôzne vývojové prostredia. Veľké spoločnosti ako Oracle nie sú jediné, ktoré vytvárajú IDE. Práca na takomto softvéri je spravidla výsadou profesionálov, ktorí chcú optimalizovať svoju činnosť. To je presne to, čo sa stalo s Visual Studio: jedným z najlepších IDE všetkých čias. Microsoft, ktorý sa pripravuje na uvedenie verzie Windowsu do nového storočia, jednoducho predstavil svoje nástroje v jednej aplikácii. Teraz je VS voľbou miliónov.

Bohužiaľ to nemožno nazvať „pre vývojárov Java“. Nie, to vôbec neznamená, že v tomto vývojovom prostredí nebude možné napísať niečo v Jave: existujú dokonca špeciálne rozšírenia. Je len viac zameraný na C, C # a niektoré ďalšie produkty Microsoftu. Java má svoje špičkové IDE, ktoré si dnes predstavíme. Najprv však musíte pochopiť, čo chceme vidieť ideálne IDE (súhláska).

Po prvé, môžete okamžite rozhodnúť, že tí, ktorí pracujú online, nie sú vhodní pre vývojára Java. Spôsobia problémy s interpretáciou a neustále závislosti len odradia od túžby po programovaní. Rozumnejším riešením by bolo stiahnuť si niektorý z dnes prezentovaných softvérov. Je lepšie kliknúť na stiahnutie raz, ako sa neustále vyrovnávať s chybami. Éra cloudových IDE ešte len príde.

Java IDE tiež musí podporovať množstvo technológií, ktoré sú potrebné pre efektívne kódovanie. Patria sem jazyky virtuálnych strojov Java: predovšetkým Java 10, ako aj Groovy a Scala. Jedným z kľúčových bodov je aj kontrola verzií. Samotný Git nebude stačiť: potrebujete Mercurial, SVN a ďalšie. Nedá sa odhadnúť, ktorý z nich bude o pár rokov populárny (samozrejme Git ☺). Webový vývojár bude ťažiť z podpory širokej škály jazykov, vrátane databáz PL, webových jazykov, frontových (TS, JS, HTML) aj backendu (jeden z populárnych univerzálnych jazykov). Keďže JVM je špeciálne pre konverziu slov programovacieho jazyka na bajtový kód, sú potrebné aj výkonné tlmočníky. Dokážu urobiť Javu rýchlou teoreticky, rýchlou v praxi.

Nuž a samozrejme, rovnako ako samotný jazyk Java, aj jeho vývojové prostredie musí byť multiplatformové. Všetky ostatné rozhodnutia bránia rozvoju programátora. Keďže si vybral Javu, potom si vybral všestrannosť.

Tri slony vývoja Java

Ako vždy, sú tri najlepšie a všetky ostatné. Odvetvie vývoja webu je na to už zvyknuté a tradíciu meniť nebudeme. Výhodou našej recenzie je, že nebude (takmer) žiadny platený softvér. Každé vývojové prostredie si môžete voľne stiahnuť z oficiálnej stránky. Tiež to bude jeden z tých top rebríčkov, kde subjektívne vyberieme víťaza. Nuž a môžete pridať svoje vlastné rozhodnutie, založené na vašich skúsenostiach a našich záveroch.

Nápad na vývoj webu

IntelliJ IDEA je IDE vydané spoločnosťou JetBrains založené na Java Virtual Machine. Samotné prostredie je tiež napísané v Jave a čiastočne v Pythone a je pre nich určené. Okamžite sa identifikovali ako prostredie pre Javu, už v roku 2001. Potom vývojové prostredie predstavilo celú knižnicu refaktorovacích nástrojov, ktoré okamžite vyniesli IDEA na vrchol. Vývojári sa nerozhodli ani tak v prospech pohodlia, ako skôr v prospech produktivity. Niektoré rutinné operácie úplne vykonáva vývojové prostredie.

Sľúbili sme, že dnes nebude žiadny platený softvér. Pravdou však je, že konečná verzia IDEA má svoje vlastné náklady, aj keď zanedbateľné (do 500 USD), pokiaľ ide o IDE. Ak ste profesionálny javista, ktorý zarába od 20 dolárov za hodinu, je to maličkosť. Mimochodom, iba v balíku Ultimate bude môcť vývojár pracovať s platformou Java EE.

Existuje však aj bezplatná verzia IDEA, ktorú nemožno nazvať odrezanou verziou. Áno, niektoré funkcie chýbajú, no jazyková podpora je podobná ako v komerčnej verzii. Je vhodné na ňu napísať prvé riadky kódu a rozšíriť ho pomocou doplnkov.

Moderné trendy a prístupy vo vývoji webu

Naučte sa algoritmus rýchleho rastu od začiatku pri vytváraní lokality

IDEA je jedným z tých vývojových prostredí, ktoré možno nazvať skutočne inteligentnými. Namiesto opráv a zvýrazňovania, ktoré má aj ten najjednoduchší textový editor, IDEA ponúka automatické dopĺňanie: fragmenty hotového programu sú generované v rukách vývojára. Netreba dodávať, že všetky zátvorky a ďalšie syntaktické vychytávky sa automaticky zatvoria. A ak sa niečo pokazí a IDEA si s problémom neporadí, okamžite to signalizuje vývojárovi Java na druhej strane obrazovky.

Uchvacuje aj refaktoring, ktorý prebieha vo viacerých jazykoch naraz. Javisti vedia, že kód nikdy nie je v čistej Jave, najmä pokiaľ ide o vývoj webu. To zahŕňa databázové jazyky, hypertext atď. V tomto bode IDEA robí to, čo mnohí ešte nedokážu: analyzovaním napísaného programu IDE oddeľuje jazyky od seba a analyzuje ich oddelene.

Program má dobre implementované klávesové skratky, na ktoré si, samozrejme, budete musieť zvyknúť. Ale akonáhle sa toto všetko stane, produktivita je mimo tabuľky. Môžu tiež spôsobiť ladenie kódu, ktoré sa vyskytuje v susednom okne.

Vývojové prostredie je pozoruhodné aj tým, že neustále rozširuje počet podporovaných technológií. Vývojári však nie sú na týchto aktualizáciách veľmi závislí. Príslušný plugin si môžu kedykoľvek stiahnuť.

IDE Eclipse

Toto vývojové prostredie je obľúbené nielen medzi javistami, ale aj medzi vývojármi webu všeobecne. Výraznou výhodou oproti IDEA sa určite stane cena – Eclipse je úplne zadarmo, rovnako ako aj doplnky k nemu. Mimochodom, v plánoch tvorcov vývojového prostredia nebola žiadna rivalita s IDEA: chceli zatieniť úspech, ktorý Visual Studio získalo. Do istej miery sa im to podarilo: priemerní weboví programátori takmer vždy preferujú Eclipse.

Čo je ešte lepšie ako IDEA? Voľný prístup k Java EE. Je dostupný ihneď, bez dodatočných platieb a inštalácie pluginov. Mimochodom, o tom druhom. Ich inštalácia v Eclipse je dôležitou úlohou. Môžu sa medzi sebou „pohádať“, čo spôsobuje vývojárovi nepríjemnosti. Pozitívom je však ich počet. Odporúčame vám vybrať si tie oficiálne, pretože týmto spôsobom je menej pravdepodobné, že začnú kolidovať s vývojovým prostredím.

Eclipse je navrhnutý tak, aby ste si ho mohli prispôsobiť. Preto vás prvá skúsenosť s IDE môže odradiť od ďalšieho používania. Toto je zriedkavý prípad, keď jedno z najlepších vývojových prostredí potrebuje príručku. Našťastie je ich na YouTube veľa.

NetBeans

Ide o vývojové prostredie, ktoré sa zrodilo z pera tvorcov Javy – Sun Microsystem. Chceli vytvoriť najlepšie riešenie pre svoj jazyk, a tak navrhli IDE, ktoré nie je priateľské len pre Windows.

Je to najviac multiplatformový na našom zozname. NetBeans je možné spustiť nielen na top osiach, ale aj na akomkoľvek inom zariadení, ktoré je vybavené JVM. Sunov prístup je okamžite zrejmý: chceli, aby ich jazyk fungoval na všetkých zariadeniach (od počítačov po práčky). Prirodzene, "fazuľa" bola nazývaná oficiálnym vývojovým prostredím Java, aj keď to nie je také skvelé. Dnes NetBeans vyvíja spoločnosť Oracle, ktorá získala Sun.

NetBeans je rovnako inteligentný ako IDEA, schopný inteligentného refaktorovania. Systém sa s touto úlohou vyrovná oveľa lepšie ako Eclipse, no horšie ako IDEA.

Ako môžete pochopiť z objemu toho, čo bolo povedané, najlepší bude menovaný IDEA. Tu je zoznam dôvodov:

pochopenie programovania. Nikto nevypĺňa kód ani neopravuje chyby tak rýchlo ako IDEA;

účinnosť refaktorizácie;

cena. Áno, Eclipse je úplne zadarmo. Ale nekúpili by ste si zlé jedlo len preto, že je lacnejšie?

Toto je naša vízia! Mimochodom, Oracle má vo svojom arzenáli ďalšie IDE s názvom JDeveloper, ktoré je úplne nabrúsené pre Javu. Skúste to tiež a urobte si vlastný záver. A máme všetko!

Moderné trendy a prístupy vo vývoji webu

Naučte sa algoritmus rýchleho rastu od začiatku pri vytváraní lokality