經常使用Ruby Gems列表

本文介紹 Ruby 社區裏面那些特別熱門的 Gem ,如下 Gem 能夠在 rubygems.org 找到。html

ruby gems

twitter-bootstrap-rails

http://twitter.github.com/bootstrap/前端

https://rubygems.org/gems/twitter-bootstrap-railsjava

https://github.com/seyhunak/twitter-bootstrap-railsgit

來自 Twitter 的 Bootstrap,是一套完整的前臺 CSS 框架。 以簡潔,優雅著稱於世。 被無數攻城獅所青睞, 又讓無數程序猿審美疲勞。程序員

twitter-bootstrap-rails Gem 封裝了 Boostrap CSS 等代碼github

Devise

用於快速構建用戶功能,如:註冊,登錄,我的設置,找回密碼...web

OmniAuth

若是你須要在項目中實現三方平臺(如: Twitter, Facebook, 新浪微博, 騰訊 QQ)帳號登錄的支持,那你須要用上它。redis

RailsCast: Part1 Part2數據庫

will_paginateKaminari

分頁控件,幾乎全部 Rails App 都在用, 其中 will_paginate 比較老,
應用案例較多, kaminari 更新, 性能和兼容性更好bootstrap

PaperclipCarrierwave

這兩個都是上傳組件, Paperclip 是老牌產品了,也是幾乎絕大多數項目都有在用它,它能夠幫你處理上傳圖片,裁減,定義不一樣的圖片尺寸,幾乎很完美。而 Carrierwave 是後起之秀,功能和 Paperclip
差很少,但它還能夠管理除圖片以外的東西,並且靈活性更高( ruby-china
就是用它)。 對比: Paperclip 官方只支持 ActiveRecord 但相對穩定, 而 Carrierwave
比較靈活支持更多的 orm, 好比 mongoid

WiceGrid

表格控件,針對 ActiveRecord,超級強大,支持任意字段排序,過濾,具體看它的 Demo.

thinking-sphinx

基於 Sphinx 的全文搜索組件,要搞全文搜索功能就用它。

SettingslogicRailsSettings

項目常常會有一些配置信息,Settinglogic 能夠幫你將寫在 YAML 裏面的配置信息很方便的調用。而 RailsSettings 也是相似的功能,只不過它是將配置信息存放在數據庫裏面,以即可以隨時在線上修改。同時也帶來性能的問題,你能夠用改進版 rails-settings-cached,他會將配置緩存下來。

CanCan

一些應用中會用到爲不一樣用戶設定不一樣功能的權限,你能夠試試 Cancan 這個 gem 他能夠幫你制定一套完善的方案,Railscasts 上面還有個使用介紹,能夠看一下。

redis-objects

它是一個基於 Redis 存儲的數據存儲插件,用於幫助咱們存放一些須要快速存儲的數據,如 頁面訪問量,贊數量,或者一些列表數據,如 Followers,數據將會存入 Redis 中,而它用起來很簡單,它能夠和 Rails ActiveSupport (簡單來講,也就是 Model 裏面)結合,使這些數據存取像一個普通字段通常。

Nokogiri

採集數據時咱們須要解析複雜的 HTML 結構,從中得到須要的數據,Nokogiri 能夠幫助咱們完美的處理不一樣網頁上面不一樣的 HTML 結構,而且有很好的編碼處理能力,用它你不用擔憂頁面是 GB2312 仍是 GBK 仍是 UTF-8,它都能很好的處理,解析結構能夠用相似 jQuery 的 CSS Selector 的方式查找,非常方便。曾經用過 Ruby 的好幾個相似插件,最終發現 Nokogiri 纔是最好的。

Formtasticsimple_form

Rails 爲咱們帶來和一改傳統的表單構件方式,可是通過實際的使用,咱們漸漸發覺這樣依然仍是不夠「敏捷」,咱們須要更加簡便並具備更細緻規範的表單,因此有了 Formtastic ,它用起來比 Rails 默認的 form 更加簡潔,可是卻具備更多的功能,你能夠爲每一個字段設定 help-text 放到文本框下面,並能夠走 I18n 的方式設置語言,具體參見 Railscasts 上面對於 Formtastic 的介紹。而 simple_form 和 Formtastic 功能相似,但它的寫法還要簡單一些。

Whenever

Linux 裏面有 Cron 能夠幫助咱們按期執行一些任務,可是 Cron 手動寫起來非常麻煩,尤爲是前面時間週期的定義, Whenever 能夠幫助咱們用更人性化的方式編寫 Cron 任務,具體參見 Railscasts 上面關於 Whenever 的介紹。

ResqueDelayed_job

有時候一些任務的執行會很慢,而這些任務咱們並不要求須要立刻返回結果 (好比:發送郵件,生成圖片縮略圖),那咱們能夠選擇將這些任務放到後臺執行,以便於頁面不會長時間等待執行。Resque 和 delayed_job 能夠幫助咱們很容易的搞定這件事情。二者區別在於 Resque 能夠有不一樣的隊列,而 Delayed_job 只有一個,但它能夠設定優先級。此外 Delayed_job 除了支持 ActiveRecord,還支持其它 ORM(具體參見 這裏)。Delayed_job 使用更加簡單。如何選擇,這個就要看使用場景了,Resque 上面對比介紹說,若是你須要有大量的任務須要放到隊列裏面執行,而且不要求優先級,那你就用它吧。DelayedJob不適合處理大量的任務, 瓶頸是基於數據庫的, 也不支持隊列. 操做上比 Resque 要方便. 而 Resque 是基於 redis 的, 使得生成任務比較迅速, 性能上比 DelayedJob 要好. 惟一的缺點就是不支持定時任務、可是裝個 resque-scheduler 能夠彌補這一點. 並且 Resque 還有 web 管理界面, 方便查看任務和追蹤錯誤.

rails-dev-boost

隨着項目愈來愈大,文件愈來愈多,咱們漸漸發如今開發環境下,項目執行慢得讓人沒法忍受。這個問題緣由在於 Rails Development 環境沒有緩存全部的類 (Model,Controller,Helper,Views...) 文件,每次刷新頁面都將會從新載入,而載入過程其實是緩慢的,這個源於 Ruby 的性能問題,因此 rails-dev-boost 搞了緩存的機制來解決這個問題,用它能夠 10 倍提高大項目在開發環境的速度問題,不過某些項目可能不起效果,好比用了 ActiveAdmin。 用這個 Gem 在 rails3.1 下提速效果更爲明顯, 由於 rails3.1 開發環境默認狀態下每次請求 assets 哪怕是一張圖片也要從新加載全部的程序文件.

Cells

在設計 Views 的時候,咱們會將一些不少頁面都須要用到的局部功能抽象成 Partials 可是咱們會發現這樣動做比較麻煩,由於數據依然還須要在不一樣的 Controller 裏面載入。而 Cells 能夠幫助咱們搞定這個問題,它能夠將一個局部功能,從數據調用到 View 生成,所有作成一個獨立的組件,使用的時候一行代碼就搞定,無需其餘的調用,同時還能夠在 Cell 裏面設定緩存,將緩存顆粒化。並且於 Partials 相比,它的效率好不少。

Smurf

Rails 3.1 爲咱們帶來了 Asset Pipeline ,能夠幫助咱們處理 JS,CSS 壓縮的功能,可是以前的版本如何實現 CSS,JS 壓縮呢?Smurf 能夠,用它很是簡單,裝上就能夠了,不用修改代碼。同時你們能夠用另外個改進版本 smurf-huacnlee 它能夠另外處理 CSS 裏面 image 地址的問題,會在後面加上時間戳 (相似 image_tag 的效果),以解決圖片更新後,用戶瀏覽器緩存更新的問題。

daemon-spawn

將一些事情做爲 daemon 來啓動,相似 Debian 的 service foo start 好比 用來管理 Resque 的啓動和重啓,會變得很簡單。

Grape

隨着 Mobile App 的增多,不少時候咱們在作用 Rails 作 API Base 項目時,rails 自帶的 C 和 V 層顯得過於繁雜,grape 能夠幫助咱們快速的構建和 Rails 完美融合的 API 接口。

ClientSideValidations

如今愈來愈多網站爲了改善用戶體驗,使用 JavaScript 來進行客戶端驗證。對於程序員來講,也所以增長多一份工做。而每每客戶端的驗證邏輯跟服務端的驗證邏輯幾乎同樣,若是要另外再寫一次驗證代碼,實在不夠 DRY,client_side_validations 正是爲解決此問題要出現。client_side_validations 會讀取服務端的驗證邏輯並生成對應的客戶端驗證邏輯(依賴 jQuery),讓你幾乎不用增長任何前端代碼就可實現客戶驗證。

by_star

這是一個輔助 ActiveRecord 的組件,讓你能夠簡單的實現按某年,某月,某日,或者星期幾,來查詢數據,用起來很是簡單,省下麻煩的條件組合,此外,它還能夠查詢上一篇,下一篇相似的功能。

rolify

一個很是簡單的角色設定模塊,不強制要求認證,支持資源對象範圍。

gon

這個 gem 能夠實現把服務端的數據傳到 js 中. 用法很簡單.

rest-client

簡單強大的 HTTP/REST 客戶端,跟 Grape 配合起來很完美

pry

簡單強大的調試工具, 輕量級的工具. 直接在終端調試方便又直接

Seed Fu

強大的 seed

rails_best_practices

編寫代碼總有方圓,費心費力寫文檔,還不如用這個工具來控制代碼質量。

lazy_high_charts

當前繪圖 JS 庫中 Highcharts 很是優秀,rubyist 使用這個 gem 來管理和編寫須要的圖。

Better Errors

它用一個更好的,更有用的錯誤頁替換標準的 Rails 錯誤頁面,對 Rack middleware 也一樣有效。Railscasts 也有相應的介紹。

god

Ruby 進程監控工具


你也能夠參考RubyGems排名站點 ruby-toolbox.com

貢獻者

5aec84cd0b5479a0d1d89b6ffa2a9a20 2 8 60fbc6a9f457b3d7401a54e61e468857 5894706ab8c4aa40257d022e28129f66 77 121 145 200 58bf89ba2dfa037971b05d1afb0480a3 257 Dda6c4388751b5713ab51668c50ded1d C7b8c0b4ef05e68e2c92cd912eca414b Ab989bfcd6ed51d34250507f7a248653 Ac1132a622b224a045252b215bd3ee31 700 778 1510 1904 8bd6aaab7589b8767c019423d72617d9

via Ruby China Wiki

相關文章
相關標籤/搜索