2. Agenda
Was ist Groovy?
Groovy Sprachüberblick
Was ist Grails?
Grails Funktionsübersicht
Livedemo Grails
Abschließendes und Fragen.
3. Groovy
inspiriert durch Skriptsprachen wie Python und Ruby
ist die zweite Sprache neben Java
nahtlos in Java Plattform integriert
nach dem kompilieren ist es JVM Bytecode
GDK erweitert das JDK
4. Sprachüberblick
Dynamisch Typisiert - Keyword „def“
voll Objekt-Orientiert
Collections
verbesserte Strings
Assertions
RegExp
verbesserte Switch / case
keine For-Schleife
Closures
Meta Programming
6. Grails Features
MVC2 Pattern
Convention over Configuration
DRY Don‘t repeat yourself
AOP durch Interceptoren
GORM
Scaffolding
Plugins
7. Erwähnenswert
JavaEE Programmierung vereinfacht
Inspiriert durch Ruby on Rails
JavaEE Servlet Container basiert & WAR Generierung
kein XML Gefleddere
90% aller Anwendungsfälle von Web Applikationen
passen - restlichen 10% sind konfigurierbar
bereite Datenbank Unterstützung
IDE Unterstützung
14. Scaffolding Convention
CRUD Methoden im Controller BuchController
list(), show(), create(), save(), delete(), update(),
korrespondierende Views
grails-app/view/buch/ list show create ....
Entsprechendes URLs Mapping
http://my.domain/[APPNAME]/[DOMAIN]/[ACTION]
15. Dynamisches Scaffolding
Controller Actions und Views werden zur Laufzeit
hinzugefügt
Controller Eintrag
def scaffold = [DOMAINCLASSNAME]
Actions können überschrieben werden
16. Statisches Scaffolding
Code Generierung auf Basis von Code Templates
Controller-Actions und Views werden generiert
gut zum Erlernen
gut für kleine Änderungen
17. Plugins
Acegi / Spring Security
RichUI
Webflow
und viele mehr.....
19. Abschließende Worte
komplex durch viele verschiedene Technologien
(gezeigte) erste Schritte sind einfach
weitergehend wird es dann aufwendiger
GRUND ==> Funktionalität MUSS verstanden
werden
FAZIT: hard to learn, easy to use
Folgende Verzeichnisse
Domänen klasse liegen im Ordner grails-app/domain
controller in grails-app/controllers und heissen immer DomainclassController.groovy