Groovy/Grails

Groovy

Groovy ist eine dynamisch typisierte Programmiersprache und Skriptsprache für die Java Virtual Machine. Die Java-Syntax ist konzeptionell vereinfacht. Groovy besitzt einige Fähigkeiten, die in Java nicht vorhanden sind: Closures, native Syntax für Maps, Listen und Reguläre Ausdrücke, ein einfaches Templatesystem, mit dem HTML und SQL-Code erzeugt werden kann, eine XQuery-ähnliche Syntax zum Ablaufen von Objektbäumen, Operatorüberladung und eine native Darstellung für BigDecimal und BigInteger. Groovy wird nicht wie andere Skriptsprachen über einen interpretierten Abstract Syntax Tree ausgeführt, sondern vor dem Ablauf eines Skripts direkt in Java-Bytecode übersetzt. Groovy gilt als besser integriert als die meisten anderen Skriptsprachen auf der JVM. Dies ermöglicht eine einfache Nutzung bestehender Bibliotheken oder die Nutzung von Groovyobjekten und -klassen in Java. Das Projekt wurde 2003 gestartet. Für Groovy existieren mittlerweile Plugins für Eclipse, IntelliJ IDEA, NetBeans, vim und Emacs.

Grails

Grails ist ein Web Application Framework, d.h. ein Framework zur Erstellung von Webanwedungen. Grails setzt auf die Programmiersprache Groovy und läuft unter der Java Virtual Machine. In Anlehnung an Ruby on Rails wurde Grails ursprünglich auch als Groovy on Rails bezeichnet. Es bietet Konzepte wie Scaffolding, automatische Validatoren und einfache Internationalisierung. Grails baut auf mehreren etablierten Frameworks wie Spring, Hibernate und SiteMesh auf und verbindet diese mit der Groovy. Grundlegend ist das Prinzip von "Konvention über Konfiguration". Artefakte eines bestimmten Typs finden sich z. B. immer in dem gleichen Verzeichnis der Projektstruktur oder bestimmte Elemente haben immer den gleichen Namen. Dies spart Konfigurationsaufwand und erleichtert den Einblick in ein fremdes Projekt. Eine in Grails erstellte Webanwendung lässt sich als Web Archive (WAR-Datei) exportieren und kann so auf jedem Servlet-Container wie zum Beispiel dem Apache Tomcat installiert werden.

Dokumentation siehe http://grails.codehaus.org/