Sinatra 是一個基於Ruby語言快速開發網頁應用程式的DSL (Domain-Specific Language) 。 DSL 在Martin Fowler 的書之中有非常詳細的解釋。這裡我們簡單理解為: 一個應用特定語言創造出來更簡單的用法的語言。Sinatra是一個輕量級的網頁開發框架。可以用於快速的開發小型網頁程式。當你有簡單的網頁公告、介紹頁面、或者是Blog、留言板應用等。都可以使用Sinatra來花更少的時間、更少的程式碼快速部屬你的應用程式。當然,網頁開發框架裡面,ROR或者是Django 都是很棒的工具來幫助程式設計師們來部屬網頁應用程式。在我們的應用程式之中,使用Sinatra來撰寫我們的Boo it。Sinatra 並非是典型的MVC操作模型。這點與ROR就稍微不同了。
名稱的命名是以歌手Frank Sinatra來命名。首頁設計上也是相當的有趣,彷彿可以看到是個歌手在唱歌!
官方網站提供了相當棒的Tutorial,使得程式設計師來快速上手這個簡單好用的網頁框架。這邊就來嘗試個簡單的開始吧!
前章節,我們有介紹到gem這個套件管理系統,在這裡可以透過gem幫助我們安裝Sinatra。
指令如下 :
$gem install Sinatra
安裝完之後
我們可以來撰寫最基本的Hello Sinatra For IT IRON MAN
撰寫一個hello.rb (ruby 應用程式)
官方介紹很有趣! 將程式放在pipe裡面。(就像卡通大力水手抽的菸管/菸斗)
require ‘sinatra’
get ‘/hi’ do
“Hello Sinatra For IT IRON MAN”
end
然後smoke it! 享受吧!
$ruby hello.rb
就會看到以下畫面。
0.0.0.0:4567 (表示sinatra 內建預設0.0.0.0導向localhost端,並且綁定4567埠)
,接著我們打開網址列輸入網址 127.0.0.1:4567/hi (當然它也有提供一個簡易的web server發布,官方網站也提供了另一個web server -> thin 大家也可以去嘗試看看)。
就可以看到結果頁面囉!
切回去server端觀看,會發現client的請求資訊。
就可以看到使用什麼請求進來這個頁面,以及網頁資訊狀態還有透過哪個路由進來存取頁面的資訊。
Sinatra使用基本的HTTP,去做route控制路由轉換頁面,這點如果使用ROR的程式設計師會更有感覺。簡單的操作也使得開發容易、方便。大家不妨可以試看看這個Lightful Web Framework來開發小型應用程式囉!