Sinatra – 簡易 Web Framework

, , , , at June 21st, 2009 by 小影

Sinatra 是一個輕量級 Ruby Web Framework。

有了 Rails 為甚麼還要其他的 framework?因為這世上沒有 Golden Hammer ,使用適當的工具可以節省很多時間。

試一試 hello world 吧:

安裝 sinatra:

gem install sinatra

執行它:

ruby hello.rb

打開 browser 到 http://127.0.0.1/ ,你第一個 sinatra 的程式就在眼前。

如你所見,Sinatra 的概念就是讓我們定義程式的 “route” (url) ,以及它的回應。Route 可以是任何 HTTP method:

或者使用 URL 當 parameters :

建立 Restful Web Service 真是前所未有的簡單!要造一個給 Javascript 用的 Web Service ?試試配合 JQuery ( 這裡用了 Sinatra 的 “內置 View” ,實際應用時這些應該放進自己的檔案中):

JQuery 的 getJSON 會把返回的資料放回 callback ,即使是 cross domain 的 call 也行!

乍看之下 Sinatra 好像原始得像 C 寫的 CGI,但其實它把很多架構上的東西都替我們做了:buffering、http request handling、routing 等等等等。需要甚麼特別功能也可以輕易追加:session、view template(erb, saas, builder, haml)、authentication、ORM。最重要的是它非常簡單,不需包括你實際不需要的東西,對節省腦細胞真是最好的選擇!

延申閱讀

相關文章

Post a Comment