Webanwendungen mit Groovy und Grails

Bild des Benutzers Axel Pospischil
Druckversion dieser SeiteDruckversion dieser SeiteSeite per E-Mail sendenSeite per E-Mail senden
Abbildung pics/groovy-grails-kurs.png

Webframeworks erfreuen sich starker Beliebtheit. Eine Besonderheit unter all den Kandidaten wie Rails (Ruby), Zend (PHP), Spring (Java) und natürlich auch ASP.Net (.Net) stellt die Kombination der Skriptsprache Groovy und dem Web Framework Grails dar. Integriertes objekt-relationsales Mapping in sehr eleganter Form, Meta-Programmierung, dynamisch typisiertes Programmieren mit Groovy und vor allen Dingen volle Kompatibilität mit Java machen Grails extrem sexy.

 

Rapid Development mit Groovy und Grails

Natürlich kann man Rapid Development für Webanwendungen auf verschiedene Arten betreiben. Für ein Java affines Umfeld in dem es auf schnelle Entwicklung ankommt eignet sich Grails jedenfalls hervorragend. Groovy dagegen ist universell einsetzbar. Parallel zu Java.

Skriptsprache Groovy

Groovy ist ein Super-Set von Java. Das heißt es wird Java Byte Code erzeugt. Jeder Groovy-Type ist ein Sub-Typ von java.lang.Object und somit ist jeder Groovy-Typ ein Java-Typ. Groovy ist somit eine dynamisch typisierte Sprache. Die macht sehr elegantes Coding möglich. Groovy bietet darüber hinaus noch weitere Vorzüge.

Grails Webframework

Grails als Webframework bietet enorme Vielfalt an Möglichkeiten durch:
  • Eine klassische MVC Architektur
  • Plugin Fähigkeit, die insbesondere bei der Sicherheit der Anwendung und der Anwender-Navigation hervorragende Dienste leistet.
  • Service-Architektur mit von Spring her bekannter Dependency Injection
  • Grails Server Pages mit TagLibs und Templates
  • Testen: JUnit Integration

Präsentation und Beispiel für ein konkretes Projekt

Im Anhang findet der Leser eine Präsentation über ein praktisches Beispiel einer prototypischen Grails Webanwendung - entwickelt unter der Verwendung anforderungsgetriebener Methoden und JUnit.

Aktuelle Entwicklung

Auch wenn dieser Artikel nur auf die rudimentären Eigenschaften des Gespanns Groovy & Grails eingehen kann lohnt ein genauerer Blick. Insbesondere Groovy - unabhängig von Grails - ist ein vielversprechender Kandidat zur Vereinfachung der Verwendung des Java-Frameworks! Die Zukunft von Grails und Groovy ist derzeit einigen Veränderungen unterlegen. Der Hauptsponsor Pivotal zieht sich aus dem Support zurück (siehe auch die Heise Meldung vom Anfang 2015. Groovy wurde daher unter Apache Software foundation gestellt. Die aktuelle Entwicklung (Stand Oktober 2015) von Groovy wird in einem weiteren Artikel auf Heise.de dargestellt. Auch Grails hat offensichtlich einen neuen Förderer durch die Firma OCI gefunden. Beide Projekte erfreuen sich jedenfalls starker Aktivität mit zahlreichen Anwendern.

Literatur und Links

Groovy:

  • http://www.groovy-lang.org
  • Springsource: Groovy Documentation Project. 2011. URL http://groovy.codehaus.org/Documentation.
  • A. Glove Dierk König: Groovy in Action. Manning, 2007.
  • Venkat Subramaniam: Programming Groovy - Synamic Productivity for the Java Developer (Daniel H. Steinberg, ed.). Pragmatic Bookshelf, North Carolina, 2008.

Grails:

  • https://grails.org
  • Peter Ledbrook Glen Smith: Grails in Action. Manning, 2009.
  • Jeff Brown Graeme Rocher: The Definitive Guide to Grails. Apress, 2009.
  • Peter Ledbrook Graeme Rocher: The Grails Framework - Reference Documentation. 2011. URL http://grails.org/doc/latest/.

Und zur anforderungsgetriebenen Entwicklung:

  • Kendall Scott Doug Rosenbert: Use Case Driven Object Modeling With UML - A Practical Approach. Addison-Wesley - Pearson Education, 1999.
  • Magnus Christerson Ivar Jacobson: Object - Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley Longman, 1992.
  • Lars Ebrecht Lars Borner: “Suchen Sie die richtigen Fehler? Warum es sich lohnt, Fehler zu kategorisieren.”, OBJEKTspektrum, pp. 73-80, 2008. URL http://www.sigs.de/publications/os/2008/01/borner_ebrecht_OS_01_08.pdf. Hier insbesondere die Einteilung der Fehler auf Seite 75.
  • Bertrand Meyer: “Building bug-free O-O software: An Introduction to Design by Contract”, Hotline on Object-Oriented Technology, pp. 4-8, 1992. URL http://www.eiffel.com/developers/design_by_contract_in_detail.html. See publications page of Bertrand Meyer's Blog: http://se.ethz.ch/ meyer/publications/.
  • Don Wells: Extreme Programming: A gentle introduction, 1999. URL http://www.extremeprogramming.org/.

Newsfeed

Newsfeeds abonnieren