Sinatra
Basisdaten
Entwickler
Blake Mizerany (Maintainer: Konstantin Haase)
Aktuelle Version
2.1.0 (5. September 2020)
Betriebssystem
plattformübergreifend
Programmiersprache
Ruby
Kategorie
Webframework
Lizenz
MIT-Lizenz
deutschsprachig
nein
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.[ 1]
Einige bedeutende Firmen verwenden Sinatra, zum Beispiel Apple [ 2] , die BBC [ 3] , LinkedIn [ 4] , Engine Yard , Heroku , GitHub und Songbird [ 5] . Heroku stellt einen großen Teil der Finanzierung von Sinatra zur Verfügung[ 6] .
Sinatra wurde 2007 erstellt und unter eine Open-Source-Lizenz gestellt.
Eine Hallo-Welt Webapplikation kann beispielsweise so aussehen:
#!/usr/bin/env ruby
require 'sinatra'
get '/' do
redirect to ( '/hello/World' )
end
get '/hello/:name' do
"Hello #{ params [ :name ] } !"
end
Gestartet wird ein solches Programm mit:
Öffnet man im Browser:
Kann man die Ausgabe Hello World! im Browser-Fenster sehen. Ruft man hingegen die URL
http://localhost:4567/hello/Ada
auf, so kann man die Ausgabe Hello Ada! im Browser-Fenster sehen.
Es ist möglich, HTML-Code mit ERuby (erb) in den Quellcode einzubauen:
#!/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>
<h1>Welcome World!</h1>
</header>
<p>Welcome to this Website!
</p>
</body>
</html>
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.
Ruby : Almost Sinatra,[ 7] Astaire,[ 8] Cuba,[ 9] Padrino (basierend auf Sinatra),[ 10] Pakyow,[ 11] Renee[ 12]
PHP : Fat-Free,[ 13] Fitzgerald,[ 14] Glue,[ 15] klein,[ 16] Laravel,[ 17] Limonade,[ 18] MiMViC,[ 19] Silex,[ 20] Slim[ 21]
JavaScript : Express,[ 22] Picard,[ 23] Roundabout,[ 24] Sammy[ 25]
CoffeeScript : Zappa[ 26]
Python : Bottle,[ 27] Denied[ 28] (was an April Fools joke[ 29] ), Flask,[ 30] itty,[ 31] Juno[ 32]
Erlang (Programmiersprache) : Fresh,[ 33] Spooky[ 34]
Groovy : Graffiti,[ 35] Ratpack[ 36]
Scala : Scalatra,[ 37] BlueEyes[ 38]
.NET : Martin,[ 39] Nancy,[ 40] Nina[ 41]
Perl : Dancer , Mojolicious [ 42]
Java : Spark,[ 43] Napalm,[ 44] Htmleasy[ 45]
Haskell : Bird,[ 46] Loli[ 47]
Fancy : Sinatra.fy[ 48]
Bash : Astley,[ 49] sh.inatra[ 50]
C : Bogart[ 51]
F# : Frank[ 52]
Lua : Mercury,[ 53] Orbit[ 54]
Mirah : Shatner[ 55]
Objective-C : RCRouter[ 56]
Vala : Valatra[ 57]
Nim : Jester[ 58]
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ß.[ 59]
Alan Harris, Konstantin Haase: Sinatra: Up And Running (First ed.). O’Reilly Media, 2012, ISBN 978-1-4493-0423-2 , S. 120.
↑ Sinatra: Getting Started. In: sinatrarb.com. Abgerufen am 29. Januar 2012 (englisch).
↑ Open Source software used by Apple. Abgerufen am 20. Januar 2012 .
↑ BBC Zeitgeist. Archiviert vom Original (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 @2 Vorlage:Webachiv/IABot/thechangelog.com
↑ JRubyfying LinkedIn’s Front-end. Abgerufen am 29. Januar 2012 (englisch).
↑ Sinatra in The Wild. Abgerufen am 29. Januar 2012 .
↑ Sinatra: About. Abgerufen am 29. Januar 2012 .
↑ Almost Sinatra
↑ Astaire
↑ Cuba
↑ Padrino
↑ Pakyow
↑ Renee
↑ Fat-Free
↑ Fitzgerald
↑ Glue (Memento des Originals vom 8. Juli 2011 im Internet Archive ) 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 @2 Vorlage:Webachiv/IABot/glue.d-xp.com
↑ klein
↑ Laravel
↑ Limonade
↑ MiMViC @1 @2 Vorlage:Toter Link/mimvic.googlecode.com (Seite nicht mehr abrufbar , festgestellt im Dezember 2018. Suche in Webarchiven ) Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis.
↑ Silex (Memento des Originals vom 30. April 2015 im Internet Archive ) 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 @2 Vorlage:Webachiv/IABot/silex-project.org
↑ Slim
↑ Express
↑ Picard
↑ Roundabout
↑ Sammy
↑ Zappa
↑ Bottle (Memento des Originals vom 10. Januar 2011 im Internet Archive ) 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 @2 Vorlage:Webachiv/IABot/bottle.paws.de
↑ Denied (Memento des Originals vom 4. September 2011 im Internet Archive ) 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 @2 Vorlage:Webachiv/IABot/denied.immersedcode.org
↑ Armin Ronacher: April 1st Post Mortem
↑ Flask
↑ itty
↑ Juno
↑ Fresh
↑ Spooky
↑ Graffiti
↑ Ratpack
↑ Scalatra
↑ BlueEyes
↑ Martin
↑ Nancy
↑ Nina
↑ Mojolicious::Lite
↑ Spark
↑ Napalm @1 @2 Vorlage:Toter Link/github.com (Seite nicht mehr abrufbar , festgestellt im Dezember 2018. Suche in Webarchiven ) Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis.
↑ Htmleasy
↑ Bird
↑ Loli (Memento des Originals vom 14. Februar 2010 im Internet Archive ) 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 @2 Vorlage:Webachiv/IABot/github.com
↑ Sinatra.fy
↑ Astley
↑ sh.inatra
↑ Bogart
↑ Frank (Memento des Originals vom 13. Oktober 2011 im Internet Archive ) 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 @2 Vorlage:Webachiv/IABot/frankfs.net
↑ Mercury
↑ Orbit
↑ Shatner
↑ RCRouter
↑ Valatra
↑ Jester
↑ "Sinatra Loves Dancer"