Posts mit dem Label Grails werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Grails werden angezeigt. Alle Posts anzeigen

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)