转载 关于 ruby on rails

作者: 匿名
发布时间:2015-08-10 15:42:37

您可能对 Ruby on Rails 已有所耳闻,这一新应用框架正以狂风暴雨之势席卷 Web 开发社区,尤其是 J2EE 和 PHP 编程界。

  Rails 是一个功能强大的 Web 应用平台,在不到两年的时间内便赢得了众多 J2EE 和 PHP 编程人员的广泛青睐。它为什么会得到 J2EE 和 PHP 编程人员的垂青?了解 Rails 的优势后您的疑问将一扫而空。其一是它使用了严格的 model-view-controller (模式—视图—控制器)体系结构,赢得了自尊且醉心于设计模式的“妄客”(自我的技术迷)的尊敬 — 这是 J2EE 开发人员对其情有独钟的原因。其二是使用 Rails 可以非常方便地构建基础系统 — 这是它吸引 PHP 开发人员的原因。

  但是,从数据库角度来看,Rails 有一些非常明显的缺陷。Rails 对数据库布局和应用程序需求作了许多假定。比如,Rails 假定所有表都使用一个非复合的主键。它不支持复合主键!另外,Rails 不支持双步提交;它只能用于单个数据库后端的情况。

  本文不是 Rails 的吹捧文章或是批判文章,仅是对这一技术的一个介绍。其中既有褒奖也有批评。可能有时批判显得有点严厉(在 Rails 狂热爱好者眼中尤其如此),但是不要为表象所迷惑。使用任何 Web 应用框架都要讲究技巧,不管它是 J2EE、ASP.net、或 PHP。从长远来看,使用 Rails 比使用其它 Web 应用开发平台的效率更高,但是需要一定的时间来熟悉和掌握该技术。

  什么是 Ruby?什么是 Rails?
  Ruby 是一种动态编程语言,它在许多方面类似于 Perl、Python 和 Smalltalk,但是它是自成体系的。Java 和 PHP 编程人员似乎可以很轻松的掌握这一语言,他们是 Ruby 的最大拥护者。这一语言还吸引着其他人的加入,包括 Don Box 这位 Microsoft 界的超级“妄客”。

  Ruby 的历史不短,它问世于 1993 年,先于在 1995 年便为公众知晓的 Java 和 PHP。所以尽管 Ruby 是一个成熟的语言,却不如其它语言普及。这造成了 Ruby 编程语言阵营并不如 Java、PHP 和 Perl 阵营强大。因此,您会发现专门针对这一语言的框架、库、书籍、网站、博客和其它资源都比较少。

  在 David Heinemeier Hanson 于近期推出了 Rails 框架后,Ruby 社区推广能力不济的颓势得到了扭转,有证据表明该框架是 Ruby 诞生以来最受欢迎的应用程序。Rails 将 Ruby 编程语言扩展为极其适用于 Web 开发的领域特定语言(Domain Specific Language)。它还借用了 ActiveRecord 扩展,将对象关系持久性引入了 Ruby 语言。Rails 让人敬而远之的原因除了它不支持复合主键和两步提交外,其最大的障碍在于要使用它您需要重新学习一门编程语言。这不是大部分人可以不求甚解一略而过的阶段,学习一门新语言虽然可以为您带来欢乐,但同时却是一条令人生畏的坎坷之途。

但是,如果您想在自己的履历中添上浓墨重彩的一笔,Ruby 语言便是不二之选。梅花香自苦寒来,Ruby 是一个完全不受商业利益左右,历经 10 年锤炼而成的语言。所以,使用 Ruby 能给您带来愉悦的享受,在很多情况下,其生产率比 Java、C 和 Microsoft .net 语言高出一个数量级。(IronPython 可能是个例外,它是 Python 语言与 Microsoft .NET 环境的接口。Python 类似于 Ruby,也是一个生产率很高的动态编程语言。)

  Rails 的用途是什么?
  Rails 是一个从零开始设计而成的框架,用于构建使用关系数据库后端的动态网站。它将关键词引入了 Ruby 编程语言,简化了 Web 应用程序的配置。此外,它还可以基于现有的数据库模式自动生产完整的 Web 应用程序,尽管有点粗糙。这一能力既是 Ruby 的突出优点,却同时也是它的致命弱点。Rails 假定了数据库模式命名规范,如果遵循这一规范,只需执行一个命令即可生成一个基本 Web 站点。但要完成这一工作需要进行一些额外配置,有时这些配置可能根本无法实现。您还会发现 Rail 假定的数据库规范几乎都是可更改的,但是更改得越多,该平台的生产率就越低。这就是 Rails 在开发新数据库的新应用程序时能大显神通的原因。但它却不是处理原有系统的一个上佳方案。

来源:http://www.cnblogs.com/sativa/archive/2006/10/07/522948.html

推荐: