Sinatra 1.4 kommt

Nach 2 Jahren der Patch-Releases stehen mit Sinatra 1.4 jetzt wieder neue Funktionen zur Verfügung. Die DSL zum Entwickeln von Webanwendungen in Ruby unterstützt unter anderem zusätzliche HTTP-Methoden und ließ sich in puncto Route Parsing verbessern.

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

Eine Vorschau des 1.4-Release der domainspezifischen Sprache (DSL) Sinatra steht bereit und bringt das erste Mal seit Sinatra 1.3 aus dem Jahr 2011 neue Features mit sich. Die DSL soll der schnellen Entwicklung von Webanwendungen in Ruby dienen und hat Frameworks wie Flask für Python oder Express für JavaScript inspiriert.

Entwickler Konstantin Haase hat in einem Blogeintrag die neuen Funktionen aufgelistet und die baldige offizielle Freigabe der fertigen Version angekündigt – lediglich die Website müsse noch überarbeitet und ein paar weitere App-Tests durchgeführt werden. [Update 15.03., 13:28 Uhr: Die Software ist nun freigegeben.] Laut Haase unterstützt Sinatra 1.4 beispielsweise die HTTP-Methoden LINK und UNLINK sowie Yajl-, Rabl-, Wlang- und Stylus-Templates. Darüber hinaus ließ sich das Routes Parsing verbessern, wozu auch gehört, dass Pluszeichen in URLs nicht mehr als Leerzeichen geparst werden. Nach der Installation eines Servers erkennt Sinatra nun neben WebRick, Thin und Mongrel, auch Puma, Trinidad, ControlTower und Net HTTP Server automatisch.

Auch neu sind Verbesserungen im Umgang mit Exceptions, die Möglichkeit, eine status-Option an send_file weiterzugeben, um einen Statuscode zu setzen, und eine Option zum Konfigurieren von Sicherheitseinstellungen für Sessions. Für die Zukunft möchte Haase gern Großteile des Codes für Sinatra 2.0 neu schreiben, damit am Ende eine einfachere, flexiblere und leistungsfähigere Codebase zur Verfügung steht. Der Weg bis dahin sei aber noch lang.

Sinatras Quelltext steht auf GitHub zur Verfügung, eine Dokumentation lässt sich auf der Sinatra-Site nachlesen. Die DSL lässt sich auch einfach als Ruby-Gem installieren (gem install sinatra beziehungsweise momentan noch gem install sinatra --pre für die aktuelle Version). (jul)