Artikel

 
Januar 2012 | Artikel

Das ist neu in Grails 2.0

(Link zum Artikel: http://www.it-republik.de/jaxenter/artikel/4272)

Neuerungen in der Grails-Plattform

Text: Dierk König
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share
Der mutige Sprung der Versionsnummer kündigt es an: Die neue Version der Grails-Plattform für Webapplikationen möchte nicht nur eine kleine Verbesserung sein, sondern sieht sich als bemerkenswerten Entwicklungsschritt.
Teil 1   Teil 2   

Und in der Tat vermittelt Grails 2.0 dem Entwickler - aber auch dem Anwender - ein völlig neues "Fahrgefühl".

Angenehm für Entwickler
Die Konsole wurde vollständig umgebaut und hat nicht nur eine TAB- Vervollständigung, sondern auch eine aktive, farbige, einzeilige Ausgabe und formatierte Fehlerausgaben. Dazu kommen noch einige neue Befehle wie zum Beispiel das Anlegen von Controllern mit dynamischem Scaffolding oder "Open test-reports". Abbildung 1 gibt einen Eindruck.

Für eine Konsole ist aber entscheidend, wie schnell die Befehle ausgeführt werden, und das ist die nächste Neuerung: Mit "grails" startet man den interaktiven Modus, in dem alle Befehle ohne Neustart der JVM und damit deutlich flüssiger vonstatten gehen.

IntelliJIdea 11 und Eclipse STS verstehen beide die neuen Grails 2.0 Features, lediglich die abgefangene Konsolenausgabe bleibt weiterhin mehrzeilig.

Aus der Konsole heraus lässt sich der Server schnell starten und auch wieder stoppen - oder bei laufendem Server weitere Kommandos absetzen, was die Arbeit weiter erleichtert. Im Entwicklungsmodus ist es kaum je noch notwendig, den Server neu zu starten. Der Neulade-Mechanismus wurde vollständig überholt und stützt sich jetzt auf JVM-Agents.

Abbildung 2 zeigt die Konsolenausgabe bei fehlschlagenden Unit-Tests aus Listing 3.

Nicht nur sind die Fehler jetzt direkt ohne Umwege über die Fehlerreports sichtbar, sie werden auch gemäß den power-assert Konventionen aufbereitet.

Schön für Anwender
Die Standard-Sichten von Grails, wie sie beim statischen und dynamischen Scaffolding erzeugt werden, verwenden jetzt alle HTML 5 mit jQuery als voreingestellter JavaScript Library.

Damit einher geht nicht nur eine generelle Verschönerung der Darstellung, sondern auch eine verbesserte Visualisierung der vom Anwender erwarteten Aktionen, Unterstützung bei der Eingabe, Feedback während des Tippens und clientseitige, syntaktische Validierung.

Abbildung 3 zeigt die Eingabemaske mittels dynamischen Scaffold für eine Domänenklasse Person wie in Listing 1. Man beachte das Rendering der obligatorischen Eingabefelder.

Listing 1
  1. package grails2
  2. class Person {
  3. String firstName
  4. String lastName
  5. Date birthday
  6. static constraints = {
  7. firstName blank:false
  8. lastName blank:false
  9. }
  10. String toString() { "$firstName $lastName"}
  11. }

Selbst im Fehlerfall ist die Standarddarstellung deutlich angenehmer und nützlicher geworden. Der Fehler in Abbildung 4 stammt aus Zeile 7 der Methode "falsch" der Klasse PersonController aus Listing 2. Viel mehr kann man von einer technischen Fehlermeldung nicht erwarten.

Listing 2
  1. package grails2
  2. class PersonController {
  3. static scaffold = true
  4. def falsch() {
  5. render text: no_such_property
  6. }
  7. }

Nicht zuletzt werden sich die Anwender über die Performance- Verbesserungen freuen, die einerseits auf einem schnelleren GSP-Rendering beruhen, andererseits auf dem schlauen Verpacken, Komprimieren, Versionieren und clientseitigen Caching von statischen Ressourcen wie CSS, JavaScript und Bildern.

Es gibt aber nicht nur Neuigkeiten an der Oberfläche für Entwickler und Anwender. Im Kern von Grails hat sich auch einiges getan.

Teil 1   Teil 2   

Anzeige

Kommentare


Anzeige

zurück zum Seitenanfang