1. Grape
隨著 Mobile App 的增多瘤袖,很多時候我們在做用 Rails 做 API Base 項(xiàng)目時,rails 自帶的 C 和 V 層顯得過于繁雜昂验,grape 可以幫助我們快速的構(gòu)建和 Rails 完美融合的 API 接口捂敌。
An opinionated micro-framework for creating REST-like APIs in Ruby
Grape is a REST-like API micro-framework for Ruby. It's designed to run on Rack or complement existing web application frameworks such as Rails and Sinatra by providing a simple DSL to easily develop RESTful APIs. It has built-in support for common conventions, including multiple formats, subdomain/prefix restriction, content negotiation, versioning and much more.
2. twitter-bootstrap-rails
來自 Twitter 的 Bootstrap艾扮,是一套完成的前臺 CSS 框架
http://twitter.github.com/bootstrap/
https://rubygems.org/gems/twitter-bootstrap-rails
https://github.com/seyhunak/twitter-bootstrap-rails
3. Devise
用于快速構(gòu)建用戶功能,如:注冊占婉,登陸泡嘴,個人設(shè)置,找回密碼...
4. OmniAuth
如果你需要在項(xiàng)目中實(shí)現(xiàn)三方平臺(如: Twitter, Facebook, 新浪微博, 騰訊 QQ)賬號登陸的支持逆济,那你需要用上它酌予。
5. will_paginate 和 Kaminari
分頁控件,幾乎所有 Rails App 都在用, 其中 will_paginate 比較老, 應(yīng)用案例較多, kaminari 更新, 性能和兼容性更好
6. Paperclip 和 Carrierwave
這兩個都是上傳組件奖慌, Paperclip 是老牌產(chǎn)品了抛虫,也是幾乎絕大多數(shù)項(xiàng)目都有在用它,它可以幫你處理上傳圖片简僧,裁減建椰,定義不同的圖片尺寸,幾乎很完美岛马。而 Carrierwave 是后起之秀广凸,功能和 Paperclip 差不多,但它還可以管理除圖片之外的東西蛛枚,而且靈活性更高( ruby-china 就是用它)。
對比: Paperclip 官方只支持 ActiveRecord 但相對穩(wěn)定, 而 Carrierwave 比較靈活支持更多的 orm, 比如 mongoid
7. wice_grid
表格控件脸哀,針對 ActiveRecord蹦浦,超級強(qiáng)大,支持任意字段排序撞蜂,過濾盲镶,具體看它的Demo.
8. Sunspot
全文搜索
9. Settingslogic 和 RailsSettings
項(xiàng)目經(jīng)常會有一些配置信息,Settinglogic 可以幫你將寫在 YAML 里面的配置信息很方便的調(diào)用蝌诡。而 RailsSettings 也是類似的功能溉贿,只不過它是將配置信息存放在數(shù)據(jù)庫里面,以便可以隨時在線上修改浦旱。同時也帶來性能的問題宇色,你可以用改進(jìn)版 rails-settings-cached,他會將配置緩存下來颁湖。
10. CanCan
一些應(yīng)用中會用到為不同用戶設(shè)定不同功能的權(quán)限宣蠕,你可以試試 Cancan 這個 gem 他可以幫你制定一套完善的方案,Railscasts 上有使用介紹甥捺,在Rails 4上請使用cancancan抢蚀。
11. Nokogiri
采集數(shù)據(jù)是我們需要解析復(fù)雜的 HTML 結(jié)構(gòu),從中獲得需要的數(shù)據(jù)镰禾,Nokogiri 可以幫助我們完美的處理不同網(wǎng)頁上面不同的 HTML 結(jié)構(gòu)皿曲,并且有很好的編碼處理能力唱逢,用它你不用擔(dān)心頁面是 GB2312 還是 GBK 還是 UTF-8,它都很很好的處理屋休,解析結(jié)構(gòu)可以用類似 jQuery 的 CSS Selector 的方式查找坞古,很是方便。曾經(jīng)用過 Ruby 的好幾個類似插件博投,最終發(fā)現(xiàn) Nokogiri 才是最好的绸贡。
12. Whenever
Linux 里面有 Cron 可以幫助我們定期執(zhí)行一些任務(wù),但是 Cron 手動寫起來很是麻煩毅哗,尤其是前面時間周期的定義听怕, Whenever 可以幫助我們用更人性化的方式編寫 Cron 任務(wù),具體參見 Railscasts 上面關(guān)于 Whenever 的介紹虑绵。
13. Sidekiq
有時候一些任務(wù)的執(zhí)行會很慢尿瞭,而這些任務(wù)我們并不要求需要馬上返回結(jié)果 (比如:發(fā)送郵件,生成圖片縮略圖)翅睛,那我們可以選擇將這些任務(wù)放到后臺執(zhí)行声搁,以便于頁面不會長時間等待執(zhí)行。
14. God
Ruby 進(jìn)程監(jiān)控工具
15. rest-client
Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions. http://rubydoc.info/projects/rest-client/rest-client
參考