Linux E X P R E S

Facebook

IntelliJ IDEA 6.0

Profesionální vývojové prostředí pro Javu ME, SE i EE od firmy JetBrains opět udává trend.


Když jsem minulý rok zkoušel předchozí verzi programovacího prostředí od firmy JetBrains, vůbec jsem si nedokázal představit, co by se na jejich produktu dalo vůbec ještě vylepšit. Téměř každá verze přinesla nějakou novinku, kterou postupně zaváděla konkurence (zasouvací nástrojová okna, zobrazení rychlé dokumentace, postranní analýza kódu nebo quick fixes), takže při instalaci jsem se doslova těšil na nové „vynálezy“ vývojářů firmy JetBrains.

Linuxová verze je dodávána bez běhového prostředí Javy, stačí program rozbalit a spustit. Mám daleko raději ruční vybalení programu než (někdy) nefungující průvodce od firem InstalujVšude(TM). Windows verze se dodává včetně JRE a potřebné knihovny tools.jar s kompilátorem od Sunu. Zajímavé je, že distribuční archiv je stejně velký jako ten linuxový (bez JRE) - patrně je použito speciální komprimační techniky pro soubory JAR.

Po zadání aktivačního klíče, odklepnutí licence a volitelného importu nastavení ze starší verze se po pár chvílích objeví samotné prostředí s uvítací obrazovkou – tak trochu dnes již folklór programovacích prostředí. Už při vytváření nového projektu zjistíte, že verze 6.0 plně podporuje standard EJB 3.0 včetně migrace z předchozích verzí, technologie JSF a Struts.

Obrázek: IntelliJ IDEA 6.0 po spuštění

Samozřejmostí je podpora aplikačních serverů a sympatické je, že aplikační server (Weblogic, Websphere, Geronimo, Glassfish, Tomcat, JBoss) můžete stáhnout zvlášť a velmi snadno do prostředí integrovat. Podpora generování mapování a entit tříd je k dispozici nově jak pro EJB, tak pro Hibernate a JDBC. IDEA umí generovat diagramy entit včetně vztahů mezi nimi.

Java programátory potěší podpora @NotNull anotace. Podle mého názoru vývojové nástroje ještě stále ani zdaleka nevyužívají možnosti, které nabízí Java 5.0 díky anotacím. Doufám, že se to v budoucnu zlepší, a firmy se také dohodnou na standardizaci těchto věcí napříč vývojovými nástroji (nějaké první kroky již byly započaty). Nově lze také vyvíjet Eclipse RCP aplikace, což mě velmi potěšilo. Na webu firmy JetBrains je k dispozici tutoriál, podle kterého je možné aplikaci konfigurovat.

Byla vylepšena inspekce kódu (mezi programátory často nazývaná jako „policajt“ - podle ikony četníka hlídajícího kód). Ačkoli IDEA používá kompilátor externí (můžete zvolit javac, Jikes a nově také kompilátor z Eclipse), zvýrazňuje veškeré chyby syntaxe. Kromě toho také zobrazuje varování u nebezpečných obratů, starších konstrukcí a podobně - k tomu právě slouží zmíněný strážce zákona. Ve verzi 6.0 přibylo mnoho nových scénářů a „policajt“ nyní navrhuje své „zlepšováky“ také pro kód v JavaScriptu, HTML a CSS.

Ve verzi 6.0 byl vylepšen integrovaný code coverage nástroj. Code coverage je způsob analýzy zdrojového kódu, který je schopen odhalit místa, která nejsou testována (nejsou napsány testy pro tyto části kódu).

Když konkurenční programy teprve zaváděly zasouvací nástrojová okna po stranách (některé open-source programy je dokonce pojmenovaly jako „IDEA tool windows“), použitelný refaktoring či zlepšovaly podporu XML editace a doplňování kódu, IDEA již nabízela pokročilý GUI nástroj. V šesté verzi najdeme také něco navíc, s čímž je IDEA o krok napřed. Je jím Web 2.0 a AJAX - novinkou je podpora JavaScriptu (doplňování syntaxe, refaktoring, provázání s editorem a jinými nástroji), CSS a také plná integrace nástroje Google Web Toolkit. Nyní můžete vytvářet AJAX aplikace rychle, IDEA je jedním z prvních RAD nástrojů pro Java-AJAX.

Úplnou novinkou je také postranní nástroj IDETalk, pomocí kterého můžete komunikovat s ostatními lidmi v týmu. Je postaven na protokolu Jabber a v lokální síti funguje v režimu peer-to-peer (není třeba instalovat server). IDETalk by měl fungovat i po internetu (neměl jsem možnost vyzkoušet) a jeho hlavní předností je možnost posílat odkazy do zdrojového kódu, texty s backtrace logy či porovnávat rozdíly mezi otevřenými soubory jiných vývojářů.

Hlavním pilířem IDEA IDE je bezesporu doplňování kódu, které je na vysoké úrovni. V případě editace kódu v Javě program nabízí metody, zobrazuje jejich dokumentaci, a to všechno nenásilně - můžete nerušeně psát dál a nápovědy ignorovat. Program vždy nabízí jen ty metody, které se v daném kontextu dají dosadit a neobtěžuje s výrazy, které by nedávaly smysl. Také se snaží vždy uhodnout, kterou metodu asi chcete použít (například po zadání System.out je vybrána metoda print). Bubliny s nápovědou jsou plně dynamické, pokud všichni členové týmu dokumentují právě vytvářený kód, uvidíte vždy aktuální stav (a ne HTML javadoc, který ještě nemusí existovat). Bublinové nápovědy fungují dokonce ve vlastnostech objektů při tvorbě GUI (opět novinka verze 6.0).

S programem IntelliJ IDEA lze těsně integrovat i nástroj Team Work od stejné firmy. Nabízí automatizované testování, analýzu a sestavování projektů, zlepšuje komunikaci celého týmu, vedení projektu a vytváření ostrých verzí. Jedná se o webovou aplikaci a recenzi na tento produkt si můžete přečíst na našem webu www.linuxexpres.cz.

Na to, že doplňování funguje například i v komentářích, si pomalu zvykají i uživatelé jiných nástrojů, ne tak ovšem na plnohodnotné doplňování JSP, JSF, JavaScriptu, CSS, HTML a XML. XML IDEA umí načítat definiční soubory a dokumenty také validuje (pochopitelně rozumí XML souborům z J2EE a projektu Struts). Co mě také překvapilo, bylo doplňování u jiných typů souborů - pozornost by měli zbystřit zejména programátoři v PHP. Sice IDEA doplní jen jména základních funkcí, ale se zvýrazňováním syntaxe, špičkovou editací HTML, JavaScript a CSS souborů a nástroji pro správu verzí můžete konkurovat i nástrojům plně určeným pro PHP (Zend Studio a podobně).

Obrázek:Doplňování kódu

Podpora VCS je na vynikající úrovni, vypíchnul bych zejména jednoduchost procesu commitu do repozitáře (intuitivní a rychlé - můžete to provést jen pomocí klávesnice). V základní verzi najdete podporu pro systémy CVS a Subversion, ostatní jsou k dispozici jako zásuvné moduly. Rád bych zdůraznil, že VCS nebylo do prostředí doděláno zpětně, jak je cítit u některých jiných vývojových nástrojů, ale je opravdu plně integrováno.

Z předchozích verzí samozřejmě zůstává k dispozici automatické udržování lokálních záloh, což považuji za velmi praktickou věc. Programátor má například možnost vrátit celý projekt k předchozímu stavu (IDEA uchovává takzvané snapshoty v důležitých chvílích - například spuštění aplikace). Kolikrát se programátorovi stane, že něco pokazí a nemá ještě svoji práci v repozitáři.

Systém zásuvných modulů nabízí další funkce, pokud byste snad nebyli spokojeni s tím, co IDEA nabízí. Například pro HTML preview můžete použít komponentu nazvanou Mozilla, program vás vyzve ke stažení modulu automaticky, když poprvé kliknete na HTML Preview. Nebo můžete použít správce pluginů, k dispozici je nepřeberné množství různých utilit a zlepšováků - většina jako open source. Instalace je snadno proveditelná jedním stiskem tlačítka přímo z programu.

Ceny jsou vzhledem k nabízené funkčnosti adekvátní (začínají už na 99 USD, firemní použití je za 499 USD na osobu). Pokud vás zkušební verze nadchne a (prokazatelně) přispíváte víc než tři měsíce do nějakého open-source projektu s aktivním vývojem, můžete dostat licenci zcela zdarma.

Vylepšen byl nástroj pro tvorbu GUI a mohu s klidným svědomím říci, že je to jediný GUI designer, který bych se nebál použít (zatím se vcelku úspěšně vyhýbám desktop aplikacím) - ačkoli preferuji ruční vytváření uživatelského rozhraní. Ovládání je jednoduché a implicitní, kontejner IntelliJ GridLayoutManager funguje intuitivně, dokonce zobrazuje žárovky s varováními. Zlepšila se podpora pro lokalizaci, přibyly také konečně standardní Swing kontejnery.

Asi by to nebyla objektivní recenze, kdybych se nezmínil o některých vadách na kráse. Animování oken poměrně dost na Linuxu zpomaluje aplikaci (například paleta s komponentami v GUI se vysouvá sekundu - a to mám 4GHz procesor a 1 GB RAM), proto je nutné tuto věc vypnout, nebo nástrojová okna nechat přilepená. Celkově je IDEA velmi rychlá, žádné „swapování“ se nekoná.

Mezi aplikačními servery mi chyběl můj oblíbený Jetty, to ale neznamená, že nelze pro tento server vyvíjet aplikace. Implicitní zkratka pro zavření souboru je stále „old school“, tj. [Ctrl-F4]. Standardem dnešních dnů je již [Ctrl-w], což jsem si také musel dodatečně nastavit.

Obrázek: IDETalk v akci

Vývojové prostředí těžko prozkoumáte přečtením recenze nebo hodinovým zkoušením trial verze, kterou si mimochodem můžete zdarma stáhnout na stránkách výrobce - včetně linuxové verze. Musíte v něm psát kód, spouštět aplikace, ladit, pracovat s repozitáři a postupně odhalovat jednotlivé vlastnosti, které tak dramaticky šetří čas vývojářům, a tím i prostředky na projekt.

Ke stažení je k dispozici trial verze, licenční klíč vám bude zaslán e-mailem. Program není velký, instalační balíček je pro všechny systémy cca 60 MB veliký.

Diskuze (0) Nahoru