Franky快速架構Sinatra框架

Adler @ 2015-02-04


什麼是Franky?

Franky是一個Ruby gem,只用五個指令就可以建構一個web環境。

為何要用Franky?

假如你跟我一樣,常常有一些不同的Ruby的idea需要搭配web伺服器來測試,這時候可能會選擇最簡單的Sinatra框架來搭配,我們會在terminal中執行:

$ mkdir app
$ cd app
$ touch config.ru
$ touch app.rb
$ touch Gemfile

接著到三個檔案中將rack基本的程式碼撰寫完成,並執行bundle,就可以開始測試idea。

俗話說得好,沒有最懶,只有更懶。有沒有辦法只用更少的步驟來架構一個環境呢?

怎麼不拿既有專案來改呢?

  1. 通常測試完,code丟著就忘了
  2. 通常無法好好保存
  3. 可能會把專案搞壞

Franky可以解決什麼問題?

假如我們要增加一個專案,可以直接執行franky new app,Franky會自動幫我們產生一個叫做app的專案資料夾,只要進去裡面進行bundle,接下來就完成了整體環境測試,只要再執行rackup,就可以到瀏覽器瀏覽了。

另外,Franky也提供了最簡易的模版,也就是sinatra最基本的三個檔案,就可以直接佈署到Heroku上。

實際操作流程

在Terminal中輸入:

$ gem install franky
$ franky new project
$ cd project
$ bundle

接著開啟 app.rb,加入自己的程式碼:

require 'sinatra'

class App < Sinatra::Base
    get "/" do
        # 程式邏輯寫在這裡...
        erb :'index.html'
    end
end

剩下的就可以到views/index.html.erb當中完成。最後在terminal中開機:

$ rackup

打開瀏覽器網址輸入localhost:9292就會看到熟悉的"Hello World"字樣囉!

是否有詳細的使用說明?

  • 使用方法及詳細說明文件請看 Github
  • 原始碼內的各種class、methods拆解說明請看 Rdoc

希望大家都可以快速的測試及實現各種web idea喔~

圖片來源

Sinatra官網