Ruby On Rails 的工具与资源大全

Open Source Rails

Open Source Rails是展示开源 Ruby on Rails 站点,这个网站主要是跟踪最新和最受欢迎的Ruby on Rails 开源项目(应用)。网站本身也是开源的。在上面可以找到很多ruby on rails的开源项目。

地址:http://www.opensourcerails.com/

RubyMine

RubyMine 是一个Ruby 和 Rails整合开发 IDE,其带有所有开发者必须的功能,并将之紧密集成于便捷的开发环境中,号称最智能的Ruby和Rails的IDE,能够大大增加Ruby和Rails开发者的开发效率。

JetBrains RubyMine IDE提供了一个综合的Ruby编码编辑器,其可识别动态语言特征,可提供便捷的编码协助,智能代码重构,代码分析功能。

在开发环境提供了所有Ruby开发者需要的一切功能:简便的项目配置,自动Ruby Gems管理,支持Rake(Ruby开发者们在开发环境中所需要的工具集合)。

RubyMine用有专门的RoR项目架构视图,快速的Model-View-Controller导航选项,Rails特定代码完成,感知动作以及重构。

地址:https://www.jetbrains.com/ruby/

Exceptional(Airbrake)

Exceptional(现更名为Airbrake)对Rails应用进行异常跟踪和管理,目前Exceptional项目已经停止维护,而Ruby部分整合到了Airbrake中。Airbrake是异常监测工具,可用于监测应用内的异常,支持18种编程语言。

地址:https://airbrake.io/

TuneUp

TuneUp是一款优化工作,可检查应用程序的性能,它的一些列工具包括:系统改造/分析、硬盘/登录文件清理、系统加速、记忆体最佳化、登录文件编辑、软件卸载、工作管理员、文件还原/清理。扩展操作系统的能力,使Windows运行更快、更安全、更舒适。其现代图形界面包括所有系统设置、安全设定、清理和维护等功能。更舒适和更安全,只需点击几下鼠标可以让你的Windows操作系统的更快。

TuneUp 现在成为 AVG 旗下一员,他们拥有共同的使命 – 解决一些棘手的数字生活难题,让我们能够更轻松地邀游数字世界,更方便地受到保护以及更愉快地享受生活。

它并非专门针对RoR的工具,但是在RoR开发中很有用。

地址:https://www.avg.com/en-us/tuneup-utilities

heroku

heroku是Ruby on Rails平台,无需安装或配置,可直接在浏览器中写代码。

在2010年被Salesforce.com收购。Heroku作为最开始的云平台之一,从2007年6月起开发,当时它仅支持Ruby,但后来增加了对Java、Node.js、Scala、Clojure、Python以及(未记录在正式文件上)PHP和Perl的支持。基础操作系统是Debian,在最新的堆栈则是基于Debian的Ubuntu。

地址:https://www.avg.com/en-us/tuneup-utilities

RSpec

RSpec 是Ruby 的开发框架,包括 Scenario 框架与代码示例框架。

要了解RSpec,我们首先需要了解什么是行为驱动开发(Behaviour Driven Development,简称BDD),BDD是一种融合了可接受性测试驱动计划(Acceptance Test Driven Planning),域驱动设计(Domain Driven Design)以及测试驱动开发(Test Driven Development,简称TDD)的敏捷开发模型。RSpec为BDD开发提供TDD支持。

网址:http://rspec.info/

Lovd By Less

Lovd By Less是Ruby on Rails写的开源社交网络平台项目

How to get LovdByLess up and running
USERS WHO ARE UPGRADING READ THE UPGRADE NOTES
WINDOWS USERS READ THIS: http://www.gamutworks.net/blog/?p=17UBUNTO USERS READ THIS: http://groups.google.com/group/lovdbyless/browse_thread/thread/d29043342c47f06?hl=en
START BY MAKING SURE your ruby gems are version 1.2.0 or greater:
* (sudo) gem update --system
Then add the github repo to your gems:
* gem sources -a http://gems.github.com

项目github地址:https地址:https://github.com/stevenbristol/lovd-by-less/

Merb

Merb是功能全面的高性能的MVC Ruby框架。

对Rails性能的争论由来已久。当Web应用要处理大量的文件交换或并发连接时,Rails真的会变得很慢,而这正是Merb要解决的问题。

Merb在很多方面都与Rails有相似之处。Merb与Rails的区别之处在于:

  • 它没有cgi.rb
  • 它拥有ActionPack的一个很干净的实现
  • 使用可配置的互斥锁(Mutex Locks)机制,它是线程安全的(路由机制也是线程安全的)
  • 它的设计简单明了
  • 通过深入研究,可以很容易地对Merb的轻量级核心框架进行扩展

关键的区别是:

  • 没有自动呈现(auto-render),控制器action的返回值直接返回给客户端。如果需要进行呈现的话,必须显式地调用呈现方法。
  • Merb的呈现方法仅仅返回一个字符串,相对Rails的类似功能来说,这样就允许多次呈现并且有更强的灵活性。
  • PartControllers支持封装的应用,并且没有太大的性能损失。

Github地址:https://github.com/merb

Camping

Camping是微型的Ruby on Rails框架,代码只有4kb

Camping是基于ruby的微型(4k左右)M-V-C网络开发框架。model 层利用rails的ActiveRecord , 熟悉rails的开发者将会感到非常亲切。 非常有趣的是,其view层采用Markaby(纯ruby的标记)。

对于开阔眼界(如果你想探索rails之外的ruby世界),非常值得一看。其类库是非常精简的。文档组织的比较好。

地址:http://www.ruby-camping.com/

github地址:https://github.com/camping/camping/

Echowrap

Echowrap,是一个 Echonest API 的Ruby接口。Echonest API 是基于他们自动导出约3000万首歌曲的数据库并使用网络爬虫、数据挖掘和数字信号处理技术进行汇总的。这个 API 包括音乐推荐、艺术家推荐、播放列表生成、声音分析、音乐分类和数据流等功能。

Github地址:https://github.com/timcase/echowrap

Opal

Opal 是一个 Ruby 转 Javascript 的编译器,Opal 将 Ruby 源码转成 JavaScript 源码,运行速度很快,可以任何浏览器上运行,包含一个编译器,外加一个核心库和运行时实现。是一个优秀的使用 Ruby 用于快速构建客户端应用的资源。

Opal可以让Ruby运行快。Opal包含一一个编译器(可以运行在任意浏览器中),一个核心库( corelib)和运行期(runtime)实现。它的corelib/runtime非常小压缩后只有10.8k。

地址:http://opalrb.org/

Github地址:https://github.com/opal/opal

Pry

Pry 是一个用于 Ruby 的强大的可以替代 Ruby 自带 IRB shell 的控制台,具有语法高亮、灵活的扩展架构、运行帮助和源码以及文档浏览的先进特性。

它有非常多的先进的功能:

  • 源代码查看(安装 pry-doc gem 还可以查看C语言源代码)
  • 文档浏览
  • 在线帮助系统
  • 可以在编辑器中编辑方法(edit Class#method)
  • 语法高亮
  • 各种命令集成(启动编辑器,运行git,执行rake)
  • linux命令集成(可以使用 cd, ls 等)
  • 能够查看和回放历史

地址:http://pryrepl.org/

Github地址:http://github.com/pry/pry

Bullet

Bullet 旨在通过减少应用产生的大量查询以帮助你提升应用的性能。它会在你开发你的应用时监控你的查询,并在你应该添加预加载(N+1查询)时通知你,或是在使用不必要的预加载以及你应该使用计数器时通知。当然最好的实践是在开发中使用 Bullet。

Github地址:https://github.com/flyerhzm/bullet

Hobo

Hobo 是一个 Ruby on Rails 上的开源 gem 包/插件集合,可帮助你从一次性原型和内部单元构建任何精心制作全面的 Web 应用程序。它的目标是写更少的代码,用更少的时间构建,更多的时间来创建。

Hobo构建于Rails之上,开发者在Web应用开发过程中可以使用它来处理通用模式。例如,一个Hobo缺省应用会提供用户注册和登录功能;缺省情况下,应用程序包括一个用户模型以及负责注册验证的控制器和视图。搜索功能也是Hobo默认提供的。

开发者可以将Hobo看做一个Rails的模型、视图和控制器的协作扩展工具集。例如,Hobo支持模型中心化许可。即,如果一个模型声明某个用户可以做出某个动作,那么控制器只会允许用户做授权的动作,视图也不会展示用户没有权限编辑的表单字段。一个Hobo模型仿佛具有生命一样;在控制器层和视图层的用户接口中,相应的动作会自动创建。

地址:http://hobocentral.net/

Guard

Guard 是一个能轻松处理文件系统修改事件的命令行工具。通过定义规则自动化执行各种任务,无论什么时候文件或目录被修改。它经常被软件开发者、网站设计师、作家以及其他为了在修改代码文件或配置文件后避免重复动作和命令例如“重新启动”的专家所使用。有了它,就可以让持续测试更加容易。

Github地址:https://github.com/guard/guard

Sinatra

Sinatra 是一门基于 Ruby 的领域专属语言(DSL),致力于轻松、快速地创建网络应用。它的文档写得非常好,并且十分容易上手。很适合用于移动应用开发。

特点:

  • 1 解决了MVC实现的问题, 让controller这一层变得很简单
  • 2 没有提供持久层的解决方法, 推荐大家用activerecord结合rack命令
  • 3 对于view层没有定义默认的模板, 可以有很多种选择, 例如haml, erb
  • 4 总的来说, 没有web.py功能齐全, 但对于ruby语言, 可以用于项目的解决方案

地址:http://www.sinatrarb.com

Github地址:https://github.com/sinatra/sinatra

Brakeman

Brakeman 是一个开源的漏洞扫描器,特别为 Ruby on Rails 应用而设计。它在开发的任何阶段静态分析Rails 应用程序源码以发现安全问题。

与其他大多数web安全扫描器不同的是,Brakeman检查的是你应用的源代码(白盒),并可以最终生成一份不错的报告。

特点:

  • 配置简单
  • 白盒扫描
  • 不依赖于爬虫,覆盖全面
  • 可检查应用配置
  • 测试灵活
  • 速度优越于黑盒测试

地址:http://brakemanscanner.org/

Github地址:https://github.com/presidentbeef/brakeman

Yard

Yard 允许你在为你的 Ruby app 写文档时预览你的代码。它拥有简单的定制模板,支持你自己的 DSL,并有大量优秀的扩展,而且每天都在增加。

地址:http://yardoc.org/

Github地址:https://github.com/lsegal/yard

RuboCop

RuboCop 是一个 Ruby 的静态代码分析器。使用后,它会执行很多社区里 Ruby 风格指南中列出的标准。

Rubocop 是一个静态的代码分析和评审工具,帮你的代码保持固定风格以及找出潜在的问题错误。使用非常简单,直接通过‘gem install rubocop’命令安装即可。

地址:http://batsov.com/rubocop/

Github地址:https://github.com/bbatsov/rubocop

RubyCritic

RubyCritic 是一个 gem 包,集成了 Reek, Flay 和 Flog 这 3 个代码静态分析的工具,对你的 Ruby 代码进行静态分析并生成质量报告。它创建了很好的结构化 HTML 文件,因此你可以通过浏览你的问题代码并开始重构。在所有提到的静态代码分析工具中,因为它良好的输出,并有最方便的概述。

Github地址:https://github.com/whitesmith/rubycritic

Sycamore

Sycamore 为 Ruby 提供一个无序树数据结构。在需要的时候,它会自动增长,而且还有一个 Hash 接口以及其他功能。

Github地址:https://github.com/marcelotto/sycamore