美文网首页
常用的Gems 介绍

常用的Gems 介绍

作者: AQ王浩 | 来源:发表于2015-12-15 00:12 被阅读472次

    1. Grape

    随着 Mobile App 的增多,很多时候我们在做用 Rails 做 API Base 项目时,rails 自带的 C 和 V 层显得过于繁杂,grape 可以帮助我们快速的构建和 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

    twitter-bootstrap-rails

    3. Devise

    用于快速构建用户功能,如:注册,登陆,个人设置,找回密码...

    devise

    4. OmniAuth

    如果你需要在项目中实现三方平台(如: Twitter, Facebook, 新浪微博, 腾讯 QQ)账号登陆的支持,那你需要用上它。

    omniauth

    5. will_paginate 和 Kaminari

    分页控件,几乎所有 Rails App 都在用, 其中 will_paginate 比较老, 应用案例较多, kaminari 更新, 性能和兼容性更好

    will_paginate
    kaminari

    6. Paperclip 和 Carrierwave

    这两个都是上传组件, Paperclip 是老牌产品了,也是几乎绝大多数项目都有在用它,它可以帮你处理上传图片,裁减,定义不同的图片尺寸,几乎很完美。而 Carrierwave 是后起之秀,功能和 Paperclip 差不多,但它还可以管理除图片之外的东西,而且灵活性更高( ruby-china 就是用它)。
    对比: Paperclip 官方只支持 ActiveRecord 但相对稳定, 而 Carrierwave 比较灵活支持更多的 orm, 比如 mongoid

    paperclip
    Carrierwave

    7. wice_grid

    表格控件,针对 ActiveRecord,超级强大,支持任意字段排序,过滤,具体看它的Demo.

    wice_grid

    8. Sunspot

    全文搜索

    sunspot

    9. Settingslogic 和 RailsSettings

    项目经常会有一些配置信息,Settinglogic 可以帮你将写在 YAML 里面的配置信息很方便的调用。而 RailsSettings 也是类似的功能,只不过它是将配置信息存放在数据库里面,以便可以随时在线上修改。同时也带来性能的问题,你可以用改进版 rails-settings-cached,他会将配置缓存下来。

    settingslogic
    RailsSettings

    10. CanCan

    一些应用中会用到为不同用户设定不同功能的权限,你可以试试 Cancan 这个 gem 他可以帮你制定一套完善的方案,Railscasts 上有使用介绍,在Rails 4上请使用cancancan

    CanCan

    11. Nokogiri

    采集数据是我们需要解析复杂的 HTML 结构,从中获得需要的数据,Nokogiri 可以帮助我们完美的处理不同网页上面不同的 HTML 结构,并且有很好的编码处理能力,用它你不用担心页面是 GB2312 还是 GBK 还是 UTF-8,它都很很好的处理,解析结构可以用类似 jQuery 的 CSS Selector 的方式查找,很是方便。曾经用过 Ruby 的好几个类似插件,最终发现 Nokogiri 才是最好的。

    Nokogiri

    12. Whenever

    Linux 里面有 Cron 可以帮助我们定期执行一些任务,但是 Cron 手动写起来很是麻烦,尤其是前面时间周期的定义, Whenever 可以帮助我们用更人性化的方式编写 Cron 任务,具体参见 Railscasts 上面关于 Whenever 的介绍。

    Whenever

    13. Sidekiq

    有时候一些任务的执行会很慢,而这些任务我们并不要求需要马上返回结果 (比如:发送邮件,生成图片缩略图),那我们可以选择将这些任务放到后台执行,以便于页面不会长时间等待执行。

    Sidekiq

    14. God

    Ruby 进程监控工具

    God

    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
    
    

    rest-client

    参考

    ruby-china gems
    ruby-toolbox
    常用的 Gem

    相关文章

      网友评论

          本文标题:常用的Gems 介绍

          本文链接:https://www.haomeiwen.com/subject/dsyuhttx.html