Sinatra (Software)

Software From Wikipedia, the free encyclopedia

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.

Schnelle Fakten Basisdaten ...
Sinatra
Basisdaten
Entwickler Blake Mizerany (Maintainer: Konstantin Haase)
Aktuelle Version 2.1.0
(5. September 2020)
Betriebssystem plattformübergreifend
Programmier­sprache Ruby
Kategorie Webframework
Lizenz MIT-Lizenz
deutschsprachig nein
www.sinatrarb.com
Schließen

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.

Beispiele

Beispiel 1: eine Webapp in einer Datei

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:

$ ruby test.rb

Öffnet man im Browser:

http://localhost:4567

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.

Beispiel 2: HTML-Code in der Webapp

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>

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ß.[59]

Literatur

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

Einzelnachweise

Related Articles

Wikiwand AI