Samstag, 10. März 2012

Grails2

Neue Grails Version2.0
Während bereits an der Grails-Version 3 gearbeitet wird: Grails Upcoming Version,
hier die ausgelieferten Features von Grails2:
  • Alle Views werden über den Generator in HTML5 mit JQuery erstellt
    • Vorteil: clientseitige Validierung bzgl. Syntax möglich, 
    • bessere Usability: Feedback bei der Eingabe etc.
    • Pflichtfelder wie in der Domänenklasse definiert, werden entsprechend gerendert:
      • im dynamic Scaffolding wird in der Domain-Klasse die statischen constraints definiert und die dynamisch erzeugte View dazu stellt diese Felder als Pflichtfelder dar(mit einem * und validiert diese entsprechend):
                                 class domainX {
                                   String name
                                   ...
                                   static constrains = {
                                        name blank:false
                                  }
                                }
                     Auf der View wird nun name als Pflichtfeld dargestellt
    • Serverfehler(HTTP Statuscode 500) werden nun sauber dargestellt: mit Stacktrace, Message und betreffende Groovy-Klasse
  • bessere Performance: statische Ressourcen wie Bilder, CSS, *.js werden nun clientseitg gepackt und gecacht 
  • Neue Unterstützung für nosql-Datenbanken:
    • Diese können mit GORM-Mittel angegangen werden.
  • Persistenz Features:
    • Detached Queries (wiederverwendbare Queries jenseites einer Persistenz-Session)
    • Typsichere, compile-time secure Where-Queries!
    • neue bequeme Persistenzmethoden: findOrCreate() etc.
    • Abstrakte Domänenklassen
  • Grails-Konsole hat sich eine TAB-Vervollständigung, so wie man es von einer Linux - Konsole gewöhnt ist
  • Fehler werden auf der Grails-Konsole formatiert und farblich dargestellt
  • Controller-Features
    • Actions können jetzt auch Methoden sein und müssen nicht mehr Closures sein
    • Für einen Controller könnten automatisch die Unit-Tests angelegt werden:
      • Sogenannte @TestFor-Annotation mit der Klasse als Parameter: 
        • @TestFor(XYController)

Keine Kommentare:

Kommentar veröffentlichen