David Pollack über Lift 2.2

Scala-Framework Lift: Der nächste Schritt für moderne Webframeworks?

David Pollak ist Begründer des Scala-Webframeworks Lift, das vor kurzem in Version 2.2 erschienen ist. Im Gespräch mit JAXenter stellt Pollack das Release vor und erklärt, warum das MVC-Architektur-Muster Einzug in Lift 2.2 gehalten hat.

JAXenter: In dem Blogpost ‚MVC (if you really want it)‚ beschreibt das Lift-Team, dass das MVC-Pattern nicht unbedingt die erste Wahl für Lift darstellt. Trotzdem wurde MVC-Support in das neue Lift 2.2-Release integriert. Warum?

David Pollak: Mit Lift war es schon immer möglich, Webapplikationen im MVC-Muster zu schreiben. Die dafür notwendige Hilfsklasse kann ein einigermaßen fähiger Lift-Entwickler selbst an einem Nachmittag schreiben – mich hat es 45 Minuten gekostet. Ich habe entschieden, meine Lösung in Lift zu integrieren, um die Mächtigkeit und Flexibilität des Frameworks zu demonstrieren. Im Grunde kann so etwas wie MVC-Support, worüber sich die Leute den Kopf zerbrechen, in 100 Zeilen Code erledigt werden. Jetzt kann jeder mit einer Vorliebe dafür, seinen Code „MVC“ zu nennen, den Vorwurf „Lift unterstützt das MVC Pattern nicht“ von seiner Liste streichen. Nicht dass sie das schon vorher gekonnt hätten, aber jetzt gibt es einen Blogpost darüber und eine Klasse, die die magischen drei Buchstaben enthält – es ist jetzt also offiziell!

JAXenter: Was gibt es noch Neues in Lift 2.2?

David Pollak: Lift 2.2 ist ein mächtiges Release. Da haben wir beispielsweise das Wiring-Feature: Wiring ist ein deklarativer Mechanismus zur Bestimmung der formelhaften Beziehung zwischen verschiedenen HTML-Elementen auf einer Seite. Wenn sich ein Prädikat ändert, aktualisiert Lift automatisch abhängige Elemente. Das macht es sehr einfach, große Webseiten zu erstellen, die komplexe Abhängigkeiten zwischen den Elementen enthalten. Eine Demo dieses Features kann auf der Lift-Demoseite (http://demo.liftweb.net/invoice_wiring) eingesehen werden.

Genauso wie Lift das erste Webframework mit integriertem Comet-Support war und jetzt jeder versucht, seinen Comet-Support durch einfache Chat-Anwendungen zu demonstrieren, wird sich auch das Wiring als der nächste Schritt für moderne Webframeworks erweisen.

Außerdem ist unser Support für HTML 5, Designer-freundliche Templates und CSS Selector Transformationen zu erwähnen: Mit Lift 2.2 ist es sehr viel einfacher geworden, mit dem Webdesigner zusammenzuarbeiten. Jeder kann dieselbe Quellseite nutzen, und Designer müssen keine eigene Template-Sprache oder Ähnliches erlernen. Die Templates sind alle HTML 5 konform, die DOM-Elementen lassen sich aber auch über die Klassenattribute (in Lift-Terminologie: Snippets) um Verhaltenslogik ergänzen. Auf Seiten des Lift-Frameworks ist es sehr viel einfacher geworden, DOMs zu verändern.

Als weitere Features in Lift 2.2 seien noch der verbesserte I18n Support erwähnt, darunter I18n-Support für HTML und Strings, sowie die erweiterte Unterstützung für Sessionless Requests. Alle Neuerungen sind auch unter http://liftweb.net/22_final beschrieben.

JAXenter: Welche nächsten Schritte stehen nun auf der Lift-Agenda?

David Pollak: Dieselben wie immer: Lift ist ein von der Community getriebenes Projekt, dessen Ausrichtung von allen Anwendern, die gute Apps mit Lift bauen, bestimmt wird. Dementsprechend richten sich auch die neuen Lift Features nach den Wünschen der Community. Ein Chat mit @davewhat von Foursquare hat zum Beispiel zu der Wiring-Funktion geführt. @tackers war eine der treibenden Kräfte hinter den CSS Selector Transformationen und den Sessionless Requests. Es gibt haufenweise Mitglieder, unsere Community zählt über 2.400, die alle am Wachsen und der Verbesserung des Lift-Frameworks beteiligt sind.

JAXenter: Vielen Dank für dieses Gespräch!

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.