预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共14页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第2章 RoR概述 现在您对RoR快速开发已经有了一个直观的印象,但是也许您并不知道如下 问题的答案。 —什么是RoR? —RoR有哪些特点? —为什么要选择RoR? —如何搭建RoR开发环境? 对于这些问题,相信您在学习本章内容后会有自己的答案。 本章将讲述关于RoR的基础知识,包括RoR的历史、特点和现状,在本章 的最后将会详细介绍RoR开发环境的搭建。 如果您对这部分内容已经有所了解,那么您完全可以跳过本章继续学习。 2.1概述 RoR是RubyonRails的缩写。RubyonRails是一个用于编写网络应用程序的 框架,它基于计算机软件语言Ruby,给程序开发人员提供强大的框架支持。Ruby onRails包括两部分内容:Ruby语言和Rails框架。 20RubyonRails快速Web应用开发实战 2.1.1什么是Ruby Ruby语言是一种动态语言,它与Python、Smalltalk和Perl这3种编程语言有些 类似。Ruby语言起源于日本,它的研发者是日本人松本行弘(MatsumotoYukihiro)。 松本行弘在1993年开始着手Ruby语言的研发工作,他开发Ruby语言的初衷是 为了提高编程的效率。1995年12月Matz推出了Ruby的第一个版本Ruby0.95。 Ruby语言的主要特点如下。 1.纯的面向对象语言 在Ruby中,一切皆是对象。下面举一个例子来更直观地说明Ruby语言的这 一特点。 在Java中,求一个数的绝对值的代码如下。 intc=Math.abs(-20); 而在Ruby语言中,一切皆是对象,也就是说“-20”这个数也是一个对象, 因此,求一个数绝对值的Ruby代码形式如下。 c=-20.abs 这样的代码编写方式是不是更形象一些呢? 2.解释型脚本语言 Ruby语言是解释型脚本语言,它既有脚本语言强大的字符串处理能力和正则 表达式,又不失解释型语言的动态性。一方面,在最初设计Ruby语言时,Ruby 的研发者松本行弘考虑到文字处理方面的需要,他借鉴了Perl语言在文字处理方 面的成功经验。另一方面,松本行弘将Ruby语言设定为一种解释型语言,Ruby 的动态性使得由Ruby语言编写的程序不需要事先编译即可直接运行,这为程序 的调试带来了方便。同时,这一特点可以实现开发过程中的快速反馈。 3.其他特点 (1)动态载入。可以在运行时候重定义自己,类也可以在运行时继承或取消 继承。 (2)自动内存管理机制。 (3)多精度整数。 (4)迭代器和闭包。 第2章RoR概述21 (5)开源项目。有大量活跃的社区支持Ruby语言。 2.1.2什么是Rails 虽然Ruby语言有很多优点,但是一直以来,其流行的范围也仅限于日本。 直到2004年,Ruby才逐渐被世界上其他地区的人们所认识,那么是什么让Ruby 语言走向世界的呢?是Rails。 Rails框架首次提出是在2004年7月,它的研发者是26岁的丹麦人David HeinemeierHansson。不同于已有复杂的Web开发框架,Rails是一个更符合实际 需要而且更高效的Web开发框架。Rails结合了PHP体系的优点(快速开发)和 Java体系的优点(程序规整),因此,Rails在其提出后不长的时间里就受到了业 内广泛的关注。 Rails框架主要有如下的6大特点。 1.全栈式的MVC框架 Rails是一个全栈式的MVC框架,换句话说,通过Rails可以实现MVC模式 中的各个层次,并使它们无缝地协同运转起来。 在实际开发一个MVC模式的Web应用项目时,如果使用Java开发,需要用 到Struts(Model层)、Hibernate(Controller层)和Spring(View层)3个框架, 而且需要额外整合3个框架开发出的内容。而使用Ruby语言开发相同的项目时, 只需要用到Rails框架就可以完成。 2.约定优于配置 为了说明各个对象之间的关联关系,一般的Web应用开发框架往往采用写入 XML配置文件的方法。这种方式虽然可以解决一些问题,但是却带来了管理上的 混乱。 Rails对此的态度是约定优于配置,这意味着在Rails中不会出现XML配置文 件。Rails使用Web应用多年来积累的各种常见约定(更具体地说是命名规则)来 代替XML配置文件,而在Rails内部的映射与发现机制根据这些约定可以实现对 象之间的关联。在第1章中,通过Rails的映射与发现机制实现了数据表与Ruby 对象之间的关联。 3.更少的代码 使用约定来代替XML配置文件说明Rails本身完成了大量的底层工作,这意 22RubyonRails快速Web应用开发实战 味着使用更少的