Ruby on Rails 之 Oracle 应用: 应用: 简易教程
您可能听说过 Ruby on Rails,一个似乎正以狂风暴雨之势席卷 Web 开发社区 (尤其是 JEE 和 PHP 的编程人员)的新应用框架。 Rails 是功能强大的 Web 应用平台, 而且深受 JEE 和 PHP 的编程人员的喜爱。 当您了解了 Rails 的优势后, 您就会理解它为何对 J2EE 和 PHP 编程人员有如 此的吸引力。首先,它使用任何自视甚高的设计模式专家都很钦佩的严格的模型 -视图-控制器体系结构;这可以解释它为什么吸引了大量 JEE 开发人员。其次, 使用 Rails 可以轻松地构建基本系统 — 这对 PHP 开发人员具有吸引力。 然而,从数据库的角度来说,Rails 还是有一些非常大的局限性。Rails 对您的 数据库布局和应用程序需求做出了许多假定。例如,Rails 假定所有表都使用单 一的非组合式主键。需通过 Rails 插件支持组合式主键。此外,Rails 支持多 数据库而且可以对其间事务进行协调;Rails 不支持两阶段提交。 本文章的目的不在于对 Rails 进行赞扬或批评,而只是对该技术的介绍。其中 包含表扬也包含有批评。有时批评可能看起来过重了(尤其对于那些 Rails 的 热爱者来说),但是请不要将 Rails 看得神乎其神。使用任何 Web 应用框架都 是需要技巧的,无论是 JEE、ASP.NET 还是
PHP。从长远来看,使用 Rails 可 能比使用许多其他 Web 应用程序开发平台更高效,但是也需要假以时日来学习 其中的技巧。
是什么? 是什么? Ruby 是什么?Rails 是什么?
Ruby 是一种动态编程语言, 在很多方面和 Perl、 Python 以及 Smalltalk 相似, 但也有自己的特点。Java 和 PHP 编程人员似乎可以非常轻松地学会该语言,而 且他们是 Ruby 的最忠实的拥护者。但是其他人也为该语言所吸引;这其中还包 括著名的 Microsoft 王国中最资深的专家之一 Don Box。 Ruby 并不是新生事物; 它创建于 1993 年, 时间比 1995 年发布的 Java 或 PHP 都要久。 当时 Ruby 语言虽已成熟, 但不如某些其他语言受欢迎。 因此, Ruby 编 程语言的周边体系并不像
Java、PHP 或 Perl 那样丰富。因此,您能找到的有 关该语言的框架、信息库、书籍、Web 站点、网志和其他资源也相对较少。 David Heinemeier Hanson 提出了 Rails 框架(Ruby 历史上最受欢迎的应用程 序)后,Ruby 社区的软弱无力的市场表现近期发生了变化。Rails 将 Ruby 编 程语言扩展为域特定的语言,特别适合 Web 开发。它还使用了另一种语言扩展 ActiveRecord,使 Ruby 具有对象关系持久性。除了不支持组合主键和两阶段提
交外,使用 Rails 的最大障碍是您需要学习一种新的编程语言。这对大多数人 来说都是不可忽视的问题;
学习新语言是一项有趣
的但令人望而却步的任务。 然而, 如果您希望学习更多语言, 我想没有别的语言比 Ruby 更值得推荐了。 Ruby 代表着 10 年无商业利益篡改开发的巅峰。因此,Ruby 是受欢迎的语言,而且 在很多情况下比 Java、C、或 Microsoft .
NET 语言更高效。(可能要排除 Microsoft .NET 环境的 Python 语言端口 IronPython。 Python, Ruby 一样, 像 是一种动态高效的编程语言。)
Rails Rails 的用途
Rails 的
设计初衷是创建使用关系数据库后端的动态 Web 站点。它将关键词添 加到 Ruby 编程语言中,从而使 Web 应用程序更易于配置。此外,它还可以从 现有的数据库模式中自动生成完整(如果有些粗略)的 Web 应用程序。后者既 是 Ruby 的最大优点也是它的致命缺点。 Rails 对数据库模式命名惯例做出了假 设,如遵循这些假设,只需执行一个命令即可生成一个基础 Web 站点。但是要 完成此操作需要额外的配置,在一些情况下,则是根本无法实现的。您还可能发 现 Rails 期望的每一个数据库惯例都可以被覆盖,但是需要做的覆盖越多,平 台的效率就越低。这就是为什么 Rails 在使用新数据库开发“绿色领域”应用 程序时非常强大的原因