Ruby on Rails

最适合敏捷开发的框架“Ruby on Rails”

所谓Ruby on Rails,是以由松本行弘氏为主的人员开发的在面向对象语言以及Ruby上工作的Web应用框架,采用了Struts中为大家所熟悉的MVC架构。如今也被应用于大型网络企业的开发事项中,正在迅速普及化。

采用Ruby on Rails的优点

Java + Struts + Hibernate更加适合敏捷开发

Ruby on Rails采用了Java,可以通过远远少于应用Struts等框架时的步骤进行导入和开发。另外,由于Ruby on Rails所实现的应用结构简单,所以保守性高,发生故障时可以迅速锁定问题部分。此外,易扩展、易修正等也是其较大特征。

与Java进行对比

对于拥有很多实际业绩且应用范围广泛的Java,首先从开发者角度将其和Ruby on Rails进行对比。

表1 开发者角度的Java与Ruby on Rails的对比
Java Ruby on Rails
导入 叉
  • 必须选定框架
  • 需要费工夫设定XML
同心圆
  • 通过gem的利用可简单导入
  • 几乎不需要进行设定
开发 三角形
  • 使用Struts时,需要一定量的代码记述
  • 需要能够熟练导入框架
同心圆
  • 代码记述量较少
  • 仅仅通过Rails就能实现基本功能
调试 三角形
  • XML设定错误、HTML记述错误等导致的bug,很难进行调试
  • 必须熟练操作
圈
  • 没有文件夹的设定
  • 因为结构简单,所以能很快锁定问题部分
测试 三角形
  • 需要另行导入测试框架
圈
  • Rails中已预先排入了测试框架
UI 三角形
  • 虽然可以应用Ajax,但是必须研究Ajax库的选定以及实现方法等
圈
  • 可以简单地实现使用了Ajax了富客户端应用程序
  • 预先排入了Ajax库

当然,开发的系统不为开发者,而是为了顾客与终端用户而存在。表2是从顾客角度的两者对比情况。

表2 顾客角度的Java与Ruby on Rails的对比
Java Ruby on Rails
期间 三角形
  • 在开发开始前需要一段时间
同心圆
  • 开始开发及开发的流程都十分迅速
扩展性
再利用性
圈
  • 再利用性高
  • 设计方针未充分传达给开发人员的情况下,扩展性会大大降低
圈
  • Rails高度支持扩展性
  • Rails本身也可扩展
保守性
易更改性
圈
  • 因为设定文件夹分散,所以必须熟悉导入的工具
  • 为了将修正反映至应用程序所以需要部署
同心圆
  • 可以轻易地锁定修正部分
  • 因为是脚本语言,所以配置文件夹时会反映更改情况
可靠性 同心圆
  • 在大规模以及紧要使命系统中屡创佳绩
三角形
  • 导入的实际业绩还很少

Ruby on Rails最适合敏捷开发的4个理由

Ruby on Rails为什么被称为适用于敏捷开发?其理由可总结为一下4点。

1:保持简单的设计

因为框架通过Web应用程序实现了大部分必要功能,层次也明确区别开来,所以无需高级技术就能保持简单的设计。

2:能顺应短期发布,拿出有效地开发速度

由于必须实现的代码量极其少以及使用脚本语言等,向应用程序反映变更的时候就无需编写以及部署,所以开发流程十分迅速,能较容易地进行短期发布。

其3:能够轻易地实现测试驱动开发

以往要进行测试驱动开发的话,必须在准备了xUnit的基础上,再自行准备测试用的框架。但是,由于“Ruby on Rails”最初就实现了测试驱动开发所需要的功能,所以能够立即开始测试驱动开发。

其4:容易达到最合适的步调

由于与以往的应用程序开发相比Ruby on Rails可以在短期内实现高级功能,所以开发人员可以在短时间内集中精力完成工作。所带来的结果就是:公私平衡,生活充实,从而可以保持高动力。

咨询

Technologic Arts致力于使用“Ruby on Rails”的系统开发。希望大家也能够体验“Ruby on Rails”与敏捷开发相结合所带来的绝对高效生产率。