Sinatra — об'єктно-орієнтований програмний каркас(
framework) для створення веб-застосунків, написана на мові програмування
Ruby. На офійному сайті написано, що Sinatra це навіть не фреймворк, а
DSL для створення веб-додатків. Залежить від інтерфейсу веб-сервера
Rack. Вона є альтернативою іншим Ruby фреймворкам, таким як
Ruby on Rails,
Merb,
Nitro та
Camping.
Sinatra є відкритим програмним забезпеченням і розповсюджується під ліцензією
MIT.
Розроблена та створена
Blake Mizerany, Sinatra є крихітною(близько 1500 рядків коду, що майже 1/100-а розміру Rails) та надзвичайно гнучкою. Вона не слідує типовій архітектурі
Модель-Вид-Контролер(
Model-View-Controller,
MVC), яка використовується в інших фреймвоках, таких як Ruby On Rails. Натомість, Sinatra зосереджена на "швидкому створенню веб-додатків на Ruby із мінімальними зусиллями". Sinatra використовує всі можливості Ruby і є його оригінальним розширенням.
Sinatra дає незвичайне відчуття присутності. Це як музика. Ви диригент оркестру. І перша скрипка звучить так, як ви їх наказали, хоча ви не обов'язково повинні знати, як на ній грати. Але в той же час у вас є можливість посмикати струни, побити в барабани, засурмити фанфари. Sinatra крихітна, гнучка і модульна. Ви вільні у виборі, що використовувати у якості бібліотеки моделі, двигуна шаблонів, двигуна
JavaScript. Незважаючи на свій юний вік Sinatra є потужним і багатообіцяючим інструментом, про що свідчить підтримка з боку таких таких маститих проектів, як
Engine Yard,
Heroku,
GitHub і
Songbird.
Інсталяція SinatraРозпочнемо знайомство із встановлення Sinatra.
У вас уже повинен бути встановлений Ruby. Для тих хто вже користується новою гілкою 1.9 можу вас втішити - починаючи з версії 0.9.2, Sinatra повністю сумісна з Ruby 1.9 і Rack 1.0. Найпростіший шлях - встановити Sinatra через Rubygems:
$ gem install sinatra
Привіт, SinatraТепер давайте створимо наш перший веб-додаток.
# myapp.rb
require 'rubygems'
require 'sinatra'
get '/' do
"Привіт, Sinatra!"
end