Zum Inhalt springen

Sinatra (Software)

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 17. April 2026 um 13:37 Uhr durch imported>TaxonBot (Bot: Auflösung doppelter toter Links nach https://de.wikipedia.org/w/index.php?title=Wikipedia:Bots/Anfragen&oldid=266185123#Aufl%C3%B6sung_der_doppelten_Toten_Links).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Sinatra

[[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)|150px]]
Basisdaten

Maintainer Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Entwickler Blake Mizerany (Maintainer: Konstantin Haase)
Erscheinungsjahr Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Aktuelle Version 2.1.0
(5. September 2020)
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Betriebssystem plattformübergreifend
Programmier­sprache Ruby
Kategorie Webframework
Lizenz MIT-Lizenz
deutschsprachig ja
www.sinatrarb.com

Sinatra ist ein freies Webframework und eine in Ruby geschriebene domänenspezifische Sprache. Es ist eine Alternative zu anderen Ruby-Frameworks wie Ruby on Rails, Nitro, Camping und Rango. Sinatra setzt das Rack-Webserver-Interface voraus.

Sinatra wurde von Blake Mizerany entworfen und entwickelt und soll kompakt und flexibel sein. Es folgt nicht dem MVC-Muster, das in anderen Frameworks, wie zum Beispiel Ruby on Rails, zur Anwendung kommt. Stattdessen strebt Sinatra an, Webapplikationen schnell und mit minimalem Aufwand entwickeln zu können.<ref>Sinatra: Getting Started. In: sinatrarb.com. Abgerufen am 29. Januar 2012 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Einige bedeutende Firmen verwenden Sinatra, zum Beispiel Apple<ref>Open Source software used by Apple. Abgerufen am 20. Januar 2012.</ref>, die BBC<ref>BBC Zeitgeist. Archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 28. November 2010; abgerufen am 29. Januar 2012.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/thechangelog.com</ref>, LinkedIn<ref>JRubyfying LinkedIn’s Front-end. Abgerufen am 29. Januar 2012 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>, Engine Yard, Heroku, GitHub und Songbird<ref>Sinatra in The Wild. Abgerufen am 29. Januar 2012.</ref>. Heroku stellt einen großen Teil der Finanzierung von Sinatra zur Verfügung<ref>Sinatra: About. Abgerufen am 29. Januar 2012.</ref>.

Sinatra wurde 2007 erstellt und unter eine Open-Source-Lizenz gestellt.

Beispiele

Beispiel 1: eine Webapp in einer Datei

Eine Hallo-Welt Webapplikation kann beispielsweise so aussehen: <syntaxhighlight lang="ruby">

  1. !/usr/bin/env ruby

require 'sinatra'

get '/' do

 redirect to('/hello/World')

end

get '/hello/:name' do

 "Hello #{params[:name]}!"

end </syntaxhighlight>Gestartet wird ein solches Programm mit: <syntaxhighlight lang="bash"> $ ruby test.rb </syntaxhighlight>Öffnet man im Browser:<syntaxhighlight lang="bash"> http://localhost:4567 </syntaxhighlight> Kann man die Ausgabe Hello World! im Browser-Fenster sehen. Ruft man hingegen die URL<syntaxhighlight lang="bash"> http://localhost:4567/hello/Ada </syntaxhighlight> auf, so kann man die Ausgabe Hello Ada! im Browser-Fenster sehen.

Beispiel 2: HTML-Code in der Webapp

Es ist möglich, HTML-Code mit ERuby (erb) in den Quellcode einzubauen:

<syntaxhighlight lang="ruby">

  1. !/usr/bin/env ruby

require 'sinatra'

get '/' do

 erb :main

end

__END__ @@main <!doctype html> <html lang="en"> <head>

 <title>Welcome page</title>
 <meta charset="utf-8">

</head> <body>

 <header>

Welcome World!

 </header>

Welcome to this Website!

</body> </html> </syntaxhighlight>

Von Sinatra beeinflusste Frameworks

Sinatra hat etliche Microframeworks in Ruby und anderen Programmiersprachen inspiriert. Normalerweise versuchen solche Frameworks, die domänenspezifische Sprache (DSL) von Sinatra möglichst gut nachzubilden.

Im Juli 2011 diskreditierte ein Individuum oder eine Gruppe, die sich als Mitglieder des Sinatra-Teams ausgaben, das Dancer-Projekt. Dieser Vorfall hat dazu geführt, dass das Sinatrateam öffentlich das Dancer-Projekt und andere Nachbauten guthieß.<ref>"Sinatra Loves Dancer"</ref>

Literatur

  • Alan Harris, Konstantin Haase: Sinatra: Up And Running (First ed.). O’Reilly Media, 2012, ISBN 978-1-4493-0423-2, S. 120.

Weblinks

Einzelnachweise

<references />