JBuilder 2007

JBuilder patříval k oblíbeným IDE pro Javu, ale před několika lety se ukázalo, že není schopen držet krok. Eclipse vtrhlo mezi ostatní javovská vývojová prostředí a ukouslo si takový díl koláče, že je se pro ně stalo téměř synonymem. Díky skvělému editoru byla stále ještě považována za nejlepší konkurenci IntelliJ Idea, ale NetBeans držela nad vodou jen silná ruka firmy Sun.

To vše se začíná zvolna měnit, ale ještě před rokem, rokem a půl vypadala situace jednoznačně. A tehdy také Borland oznámil, že nový JBuilder bude postaven nad Eclipse.

Eclipse je jistě šťastná volba – je to slušné vývojové prostředí a zároveň platforma pro vývoj aplikací. Borland nebyl první a jistě ani poslední firmou, která založila svůj produkt nad Eclipse. Existuje několik IDE postavených nad Eclipse, ale nad platfomou nadšenci vyvíjejí třebas i RSS čtečku.

Co, na čem a za kolik

První a největší zklamání, které mi JBuilder přinesl, je skutečnost, že běhá pouze na Windows. Začátkem léta by se měla objevit i verse pro Mac OS X a Linux, ale dosud není k dispozici.

IDE má tři edice

  • Developer – Chybí tu většina z těch nejzajímavějších vlastností. Vlastně jen Eclipse se sbírkou opensource a několika komerčních pluginů.
  • Professional – Tady už to začíná být zajímavé. Nevím, proč je tu grafický návrhář webserviců, což je, podle mne, spíš enterprisová vlastnost, ale hlavní rozdíl proti konkurenci je silný profiler (ten je byl prodáván i samostatně ).
  • Enterprise – Verse pro práci v teamu. Visuální návrh EJB, ProjectAssist a TeamInsight. A samozřejmě spousta UML 😉

Dál budu mluvit o versi Enterprise, kterou jsem dostal od Borlandu k otestování. Licencování a ceny mi přišly trochu zmatené a, pokud se nemýlím, tak dosud nevyšla již vyšla oznámená verse “zdarma jako pivo i pro komerční použití”. Pokud vás to zajímá, obraťte se přímo na český Borland, lidé tam jsou příjemní.

Na instalačním DVD je i vývojářská verse Interbase, tu jsem však netestoval. (Mimochodem – za léta na Macu s opensource programy jsem dost odvykl tomu, že někam musím při instalaci zadávat sériová čísla. A když se navíc program začal ptát na mé ID pro BDN strávil jsem deset minut probíráním pošty, abych jej našel. Jiný kraj, jiný mrav.) Spolu s versí 2007 je možné nainstalovat i starší 2006.

ProjectAssist

Zakládání prokjektu, pokud to není jen jednoduché tic-tac-toe, nebývala snadná záležitost. Nestačí vytvořit adresáře pro zdrojáky a vygenerovat buildscript.

Součástí Enterprise edice je samostatný program (také postavený nad platformou Eclipse) ProjectAssist. Ten pomáhá založit projekt tak, aby byl použitelný pro práci v teamu. Umožní vybrat používané repository systému pro správu versí, systém pro sledování chyb, systém pro kontinuální integraci…

Tady se projevuje jedna z nevýhod otevřeného ekosystému Javy – na výběr jsou jenom nejtypičtější zástupci jednotlivých systémů. Pokud používáte nějaká obskurní řešení, ProjectAssist vám v ničem nepomůže, ale pro teamy užívající třebas Subversion, Bugzillu a Mavenium to může být vítaný pomocník. (Osobně jsem někdy na půl cesty a proto trochu váhám…)

Jenom další Eclipse?

IDE postavených nad Eclipse je několik, osobně mám velmi rád EasyEclipse. Komerční možností je MyEclipse, které, mimo jiné, na platformu Eclipse portovalo nebeanovský designer Matisse.

Borland je ovšem hráč jiné třídy. Dostanete nejen sladěnou sadu pluginů (musím říct, že v první versi šlo najít pár drobných chyb, například špatně vyplněné cesty k přibaleným aplikačním serverům), ale i další nástroje, které jinde nejsou (ProjectAssist). Příjemně mne překvapilo, že Borland stavěl nad Eclipse 3.2, přiznám se k tomu, že jsem čekal větší těžkopádnost, obzvlášť u první verse produktu, která vznikala přes rok a půl.

S ostatními “přidej pluginy a prodávej” prostředími sdílí JBuilder zásadní nectnost Eclipse – pluginy rostou jako dříví v lese a nejsou moc konzistetní (zaplaťpámbu však není mnoho problém s vzájemnou nekompatibilitou). Podobné funkčnosti často dosahují různé pluginy značně odlišnými způsoby – to má za následek vcelku správný dojem, že prostředí není kozistentní.

To je věc, se kterou Borland mnoho udělat nemohl, naštěstí alespoň jeho pluginy nehledají mnoho různých cest, jak dělat totéž. Za trochu nešťastné považuji to, že ProjectAssist je samostatná aplikace – daleko raději bych jej viděl jako integrovanou součást prostředí – třebas jako samostatnou perspektivu.

JBuilder je jen Eclipse s dalšími pluginy. To umožňuje plynulý přechod z Eclipse na JBuilder – všechny mé staré projekty se mi povedlo otevřít i v builderu – jen někdy chyběly pluginy pro některé specifické vlastnosti. Borland naštěsí nijak neomezuje přidávání pluginů, takže si do JBuilderu můžete přidat, co potřebujete – přes updatovací stránky a grafické rozhraní i přímo nakopírováním pluginu do adresářové struktury.

Zajímavé vlastnosti

Samozřejmě je možné i v JBuilderu pracovat stylem “všude samé UML”, ale zaplaťpámbu není to jediná možnost. EJB jsou podporovány ve versích 2.x (nezkoušel jsem) i 3.0. Výsledek je možné deployovat na různé aplikační servery. Spolu s JBuilderem si můžete i několik z nich nainstalovat, ale ne vždy (JBoss 4) jsou správně nakonfigurovány a je potřeba si upravit cesty. Po chvilce hledání je to funkční řešení, přestože se nemohu zbavit dojmu, že v IntelliJ je deployment pohotovější.

Metriky se hodí nejen v serverside programování – Borland přibalil opensource PMD i vlastní metriky.

Práci v teamu jsem vyzkoušel jen na základní úrovni, protože ve Wirenode jsem byl jediný člověk s builderem. Spolupráce se SVN i CVS je v této podobě bezproblémová (jak jen práce v teamu může být). Přiznám se však, že pokud bych po Borlandu (či po komkoli jiném) chtěl jednu novou vlastnost, tak by to pravděpodobně byl plugin poskytující jednotné rozhraní pro různé vcs. Další příklad nekonzistence Eclipse.

..a tristní chyby

Podpora Mavenu 2.0 je bohužel stejná jako v eclipse, tudíž parchmizerná. Borland převzal již existující plugin a bohužel neopravil ani některé staré známé chyby. To znamená, že není možné nainstalovat Windows, Javu, Maven a JBuilder a v IDE pak z nějakého sourcecode repository vytáhnout projekt a sestavit jej. (Vždy je nejprve nutné jednou spustit mvn z příkazové řádky, plugin neinicializuje správně repository).

Konec?

Rozhodně ne. Netroufnu si prorokovat budoucnost JBuilderu, ale mohu říci, co vás čeká na tomto blogu – s týdenní až čtrnáctidenní periodicitou bych tu rád podrobněji ukázal několik vlastností JBuilderu, které stojí za zmínku. Články budou mít dvojí podobu – stručná textové shrnutí a ne více než půlhodinové screencasty ukazující “jak na to”. Doufám, že to bude užitečné nejen pro vývojáře v JBuilderu 2007. Programátoři ve starší versi se hned příště seznámí s Eclipse a naopak vývojáři věrní zatmění se seznámí i s několika opensource pluginy. Na začátku každého článku se také pokusím napsat, pro koho bude dobrý – zkušení eclipsoví harcovníci tak nebudou muset pročítat příští článek, aby zjistili, že se v něm nedozvěděli nic nového.

Roadmapa těchto článků ještě není definitivní, ale jisté již je, že příště přijdou na řadu základy, pak EJB a enterprisové programování obecně (JBuilder má docela povedený grafický editor pro beany, ale osobně stále preferuji ruční kódování) a poté profiler OptimizeIt. A rozhodně pak nevynechám ProjectAssist. Celý seriál o JBuilderu bude k dispozici na adrese http://www.nekola.cz/category/technologie/it/programovani/IDEs/JBuilder

Drobný update: JBuilder a další XBuildery programuje sekce firmy Borland CodeGear, ktera je dost samostatná. Takže bych měl mluvit o CodeGear JBuilderu a ne o Borland JBuilderu. Zvyk je železná košile, ale od příště se pokusím to napravit.