實際試用之後覺得很不錯,整個 Library 很有水準。ActiveRecord 有的它也都有,但是我更喜歡它的語法跟設計,非常清楚簡潔,本身擴充性也很強,開發者也可選擇做 OR Mapping 也可選擇不做。
不過恐怕沒有多少人聽過或是用過這一個 gem。 不管是在 RubyGems Stats,Ruby Toolbox 或是前一陣子有人出來收集 Gemfile 做統計,Sequel 的數字都很低。當然,Rails 是很大的原因,Ruby 畢竟是因為 Rails 才開始普及的,Rails 又跟 ActiveRecord 綁在一起。而且我必須要說它這個名字取得很不好,光是要 Google 就得同時打 Ruby Sequel 才找得到。
本來我也擔心它會慢慢消失,但是看起來這個 Gem 也頗有歷史了,而且一直都不斷有更新,已經到 3.x 版。對於既有的專案當然轉換有困難,但是新案子不妨試試看。
Sequel 多半是拿來作比較 low level 的東西,也不是太少人用它。
只是 AR 太方便,如果不是用 Sinatra 等等的 light framework,恐怕也不會有人沒事跳去用 Sequel?
Sequel vs ActiveRecord.
無論是速度, adapter(mysql2 for async req), 語法靈活, 低層 都不會差到哪去. 甚至有過之而無不及.
Sequel 當然也支援 high level, Rails Model... etc
對 master/slave 等多台機器的支援也不錯.
想不太到 AR 有哪些是 Sequel 沒有的..
語法習慣問題當然就是另一回事了. 比如 Sequel 可以直接 Member[1] #=> Member.find(1)
當然, Sequel 也不是沒有問題, 比如我們遭遇過要處理 dataset 時, Sequel 寫得比較難修改...
但整體上我是給蠻高的分數..
AR 只是因為多人用 & Rails 內建支援.