快速业务通道

跨越边界: Ruby on Rails的秘笈是什么? - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16

跨越边界: Ruby on Rails的秘笈是什么?

时间:2011-07-25 IBM Bruce Tate

Ruby on Rails(也叫做 Rails)是一个针对支持数据库的 Internet 应用程序的 Ruby 框架。我现在 已经将 Rails 用于两个不同的应用程序并涉及了另外两个关联的程序。为了即将完成的新书 Java to Ruby(参见 参考资料),我已经采访了很多 Rails 开发人员(那些在该框架上既成功也失败过的人)、 框架的创始人和 Rails 书籍的旗舰之作 Agile Web Development with Rails(参见 Resources)的主要 作者。我开始理解为什么 Ruby on Rails 架构如此成功。

炒作和怀疑论

在 Java 社区关于 Rails 的争论已经相当激烈并且在将来一段时间没有停止的迹象。Rails 的支持者 称赞它的惊人的效率,与 Java 开发相比效率大约是 10:1。作为 Java 程序员,您下意识的反应是不相 信任何宣传过高的效率,因为您可能以前听到过这些,然而实际让您很失望。Java 提倡者日益坚持 Ruby on Rails 是一个玩具,不能伸缩,会生成坏的代码,并且只能开发简单的应用程序。但是随着对 Rails 的赞扬不断出现(通常来自可信的来源),一项更加谨慎的任务是理解 Rails 能做好什么事情,并把它 的思想带回到 Java 平台。在本文中,将探究为 Rails 带来巨大效率的核心特性(即秘笈)。

Rails 基本原理

Ruby on Rails 框架不是大家所想的典型的应用程序开发框架。Rails 的创始人 David Heinemeier Hansson 通常把该框架称为固执己见的软件,并且他喜欢打破长期存在的约定。David 做出了非常有哲理 性的决策并在整个框架中严格遵循这些决策。遍布于 Rails 内的核心观点有:

无缝集成:Rails 聪明地利用了 Ruby 语言的最好特性。它扩展了 Ruby,但您很难说出 Ruby 在哪里 结束,Rails 从哪里开始。您也可以看到 Active Record(Rails 的持久引擎)和模型-视图-控制器 (MVC)框架之间进行了很好的集成。例如,您可以编写三行代码,创建一个表,然后立即为该模型生成 用户界面。

约定优于配置:为保持良好的灵活性,Java 框架保持了大量普遍的配置文件。Rails 不采用这种策略 。它为方法、类、表和列采用普通的项目目录结构和简单普通的命名约定,以推断哪些已配置在 Java 应 用程序中。结果是,Rails 应用程序只需要对应 Java 应用程序的一小部分配置代码,一般是十分之一或 更多。

低重复:不要重复自己(Don''t Repeat Yourself,DRY)是 Rails 社区的一个常见术语。Rails 框架 委员会使用通常看起来像是 Ruby 语言的扩展的方法来把重复的任务抽象出来。正如您在本系列的 第三 篇文章 中看到的,Rails 的元编程策略使每行代码都执行更多的任务。

即时反馈:使用 Rails,对于您所做的大多数工作都会给出即时反馈。编写一行代码并保存后,在加 载下一个 Web 页面时将激活您所做的更改。更新了您的数据库以后,迁移可以向您即时显示更改。

专注于某个领域

反对其宣称的过高生产率的争论通常类似于这样:如果获得了一把好的锤子,就很难找到另外一把生 产率达到两倍的锤子,更不用说把生产率提高 5 到 10 倍了,因为锤子已经发展演变几千年了。但是把 Ruby on Rails 与各种通用目的的 Java 框架相比较的人是不得要领的。通过从根本上改变工具的本质可 以在某些方面提高 10 倍的生产率。现在专业的制造者使用钉子枪能够在用锤子钉入一颗钉子的时间内钉 入很多钉子。像钉子枪一样,Rails 也是有专门用途的。它是一个专门编写来用于单个领域的框架:新的 支持数据库的 Web 应用程序。

我猜想现今构建的应用程序有一半是支持数据库且基于 Web 的应用程序。所以 Rails 是明确针对某 领域的产品,但是这个领域很大也很重要。专攻此领域使 Rails 具有巨大的优势,引起巨大轰动。通过 专注于

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号