Beratung zum Einsatz von Groovy und Grails
Groovy ist eine dynamische Sprache für die Java Plattform. Sie ist Java sehr ähnlich, bietet jedoch eine ausdrucksstärkere Syntax und sehr mächtige dynamische Fähgkeiten. Grails ist ein auf Groovy basierendes Webframework. Es nutzt die dynamischen Features von Groovy und setzt auf etablierten Java Enterprise Frameworks wie Spring und Hibernate auf. Die Entwicklung mit Grails beruht auf bekannten Prinzipien wie Convention over Configuration, DRY (Don't repeat yourself) und KISS (Keep it simple and stupid).
Groovy bietet sich für verschiedene Anwendungsszenarien an:
- Bauen von Prototypen
- Einfacheres Testen von Java-Anwendungen
- Punktuelle Verwendung von Groovys APIs (XML-Zugriff, SQL, Swing-Builder, ...)
- Erstellen von DSLs
- Dynamische Geschäftslogik
- Shell Scripting
- Build Management mit GANT
- Flexible Konfiguration auf Basis von Groovy Code (Smart Configuration)
- Eingriffe in Live-Systeme
- Makro- und Plugin-Programmierung (z. B. in Open Office und Atlassian Confluence)
Grails bietet sich für die Entwicklung kompletter "Industrial Strength" Webanwendungen an. Die Vorteile sind:
- Beschleunigung des Entwicklungsprozesses (Rapid Application Development)
- Allround Lösung für Web-Projekte
- Schnelle Entwicklung von Prototypen mit frühzeitiger Enduser-Testbarkeit
Unsere Dienstleistungen
Rund um die Entwicklung mit Groovy und Grails bieten wir folgende Consulting Dienstleistungen:
- Training zu Groovy, zur Programmierung mit dynamischen Skriptsprachen und funktionaler Programmierung
- Training zu Grails
- Bauen eines Prototypen für Ihr Anwendungsszenario
- Erstellen eines voll funktions- und Endanwender-testfähigen Webanwendungsprototypen
- Hilfe bei der Auswahl des richtigen Toolings der noch jungen Technologien
- Erarbeitung eines Prozesses für die effektive Nutzung von Groovy und Grails in Ihren Projekten
- Stellen eines Coach oder Mentors
- Unterstützung bei der Implementierung
- Review, Refactoring und Performance Tuning von fertigen Projekten
- Migration von Prototypen oder Altanwendungen von Groovy nach Java bzw. von Java nach Groovy
Warum wir Groovy und Grails einsetzen
Sowohl mit Groovy, als auch mit Grails vereinfacht sich der Entwicklungsprozess. Groovy hat eine prägnantere und ausdrucksstärkere Syntax, dadurch muß man, um das gleiche Ziel zu erreichen, weniger Code schreiben. Weniger Code bedeutet, daß die Wartung einfacher wird, da man weniger Zeilen verstehen muß, um einen Fehler zu finden. Zudem fällt neuen Teammitgliedern die Einarbeitung in die Codebasis ebenfalls viel leichter. Groovy bringt desweiteren eine Menge nützlicher APIs mit, die unter anderem durch die dynamischen Programmiermöglichkeiten sehr einfach zu verwenden sind. Aus 20 Zeilen komplexen Java-Code werden wenige Zeilen Groovy-Code (wenn nicht sogar Einzeiler).
Die erfolgreiche Realisierung eines Projekts, welches für den Einsatz der dynamischen Sprache Groovy und Grails als Webframework spricht, können Sie hier nachlesen: Prototyp zur Verblisterung in Grails
Groovy Features:
- Sehr gute Integration mit Java
- Kompilierung nach Java Bytecode
- Alles ist ein Objekt (keine primitiven Datentypen mehr)
- Bessere Kontrollflußstrukturen
- Literale für Reguläre Ausdrücke und Collections
- Überladen von Operatoren
- Closures
- Metaobjektprogrammierung
- Wrapper-APIs für XML, JDBC, Swing, Servlets, Mocks/Stubs, File-IO
Grails wiederum baut auf Groovy und damit allen seinen Features und Möglichkeiten auf. Es verwendet zusätzlich Frameworks wie Spring und Hibernate, im Jakarta EE-Umfeld unzählige Male erprobte Defacto-Standards. Webentwicklung mit Grails macht wieder mehr Spaß, da weder unnötige XML-Deskriptoren geschrieben werden müssen, noch die Arbeit von überflüssigen Compile-Deploy-Test-Zyklen aufgehalten wird. Der Entwickler kann sich somit voll auf die eigentliche Geschäftslogik und Endanwender-Darstellung konzentrieren. Hinzu kommt, daß Grails sehr sinnvoll über eine Menge Plugins erweitert werden kann.