Richard Šerý
6.8.2013

RADAR č.4: Gradle a fantom Německé burzy



Čtvrtý RADAR AspectWorks se konal 25. 7. 2013 v pizzerii Fresco Vento. Na programu byla Německá burza, kde náš kolega Honza pracuje na aplikaci pro správu cenných papírů, a Dominikova přednáška o nástroji Gradle.

Fantom Německé burzy

Honza nám představil projekt, na kterém pracuje v Německu. Jde o software na správu úložiště cenných papírů. Systém je typickým produktem období „softwarové krize“ a tedy noční můrou každého vývojáře. Dokumentace kódu je minimální, testy zcela chybí a technologie je zastaralá. Mezi největší problémy patří pomalé buildy a cyklické závislosti. Sestavit aplikaci trvá cca 20 minut, takže vývoj je velice neefektivní. Cyklické závislosti znemožňují např. automatizovaný refactoring, analýzu kódu a podobé věci, které dnešní programátoři považují za samozřejmé. Aplikace je dokonalým příkladem softwaru, který nemůžete „zahodit a přepsat“. Provádí totiž denně velmi důležité operace a za dobu jejího používání se v ní nashromáždilo obrovské množství nedokumentovaného „know how“. Ačkoli tato práce jistě není nic příjemného, řekl bych, že takovéto projekty jsou pro vývojáře tou nejlepší školou. Každý by měl chvíli na nějaké takové aplikaci pracovat, aby poznal, jaká je cena za chybějící testy a pragmatická řešení.

Gradle

Dominik nám představil projekt Gradle, určený k automatizovanému sestavování aplikací. V Groovy napsaná aplikace je konkurencí Antu a Mavenu a snaží se sloučit to dobré z obou světů. Pozitivními vlastnostmi Gradle jsou určitě flexibilita (vývojář si může cokoli naprogramovat přímo v build scriptu) a živá vývojářská komunita. Hlavní nevýhodou je již zmíněná flexibilita (stejnou věc lze napsat mnoha různými způsoby, neexistují zatím žádné „best practice“). Rozhodli jsme se Gradle dále testovat, abychom v budoucnu mohli nahradit Maven. Účinnému nasazení Graddle v současné době brání zejména špatná integrace s IDE Eclipse, které je nejpoužívanějším IDE v AspectWorks. Jaké máte vy zkušenosti s nástrojem Gradle a jeho integrací do vývojového procesu na platformě Java?

Vaše emailová adresa nebude zveřejněna

Komentáře

Děkujeme za váš komentář
Další