Play 2.1 aufgespalten und erneuert

Mit Version 2.1 des quelloffenen Frameworks für Webanwendungen Play lassen sich nun nicht nur die Funktionen des aktuellen Scala 2.10 nutzen, sondern unter anderem auch Dependency Injection für Controller.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Julia Schmidt

In Version 2.1 des Play-Frameworks für Webanwendungen wurde die Laufzeit-API auf Scala 2.10 umgestellt, sodass sich beim Entwickeln nun auch die dort vorhandenen Funktionen nutzen lassen. Ein Modularisieren der Codebasis von Play in Sub-Komponenten soll außerdem die Zahl der Abhängigkeiten in Projekten auf eine Minimum reduzieren. Um diese eigenen Projekte auch in Einzelteile zerlegen zu können, unterstützt das Framework in der aktuellen Version Sub-Router Composition.

Das vorige Major Release hatte aus Architekturgründen ein Problem damit, den HTTP-Kontext in der Java API während asynchronen Callbacks beizubehalten. Diese laufen auf anderen Threads als die HTTP-Anfragen, was in Play 2.1 durch Weitergabe von Http.Context über einen Stack gelöst wurde.

Eine weitere Neuerung besteht in der Möglichkeit, nicht nur statische Methoden auf einem Controller aufzurufen, sondern auch durch eine neue Routes Syntax Dependency Injection für Controller umzusetzen. Dafür soll die Controller-Methode in den Route-Dateien einfach mit einem vorgestellten @ ausgezeichnet werden. Zurückgeben lassen soll sich die Instanz dann in der Klasse Global mit getControllerInstance. Eine Beispielanwendung hierfür findet sich auf GitHub.

Ergänzt wurde das unter der Apache 2 License stehende Framework auch um eine neue Scala JSON API, eine Filter-API und verbesserte Content Negotiation. Alle Änderungen lassen sich der Dokumentation entnehmen, das Framework beziehungsweise dessen Quellcode sind im Download-Bereich und auf GitHub zu finden. (jul)