RoR:简化Web开发

时间:2022-06-15 11:33:48

RoR:简化Web开发

基于Ruby编程语言的Rails恐怕是过去十年里推出的最重要的开源项目,它被誉为是有史以来效率最高的Web开发框架之一。它因可以迅速开发数据库支持的Web应用而迅速流行起来,特别是在Web 2.0领域。

Ruby on Rails(又叫RoR或者Rails)是用Ruby语言编写的一种Web应用程序框架,而Ruby是以语法简洁出名的面向对象的编程语言。2004年的RoR是个开源项目,最初为Web开发公司37signals LLC设计的一个项目管理工具充当基础。它很容易在Linux、Windows和Macintosh等诸多环境之间移植,能够对Web开发小组构建及维护企业网站和应用程序的速度带来显著提高。

Rails采用同样的组件设计理念和开发环境,在构建数据库支持的Web应用程序时,为开发人员在代码层面提供了几个重要优点。其中一个核心原则强调通过避免冗余代码、遵守Rails的约定,减少开发应用程序的代码。这意味着可提高性能,并且有望缩短开发时间。

Ruby

Ruby是一种纯粹的面向对象的开源编程语言,语法非常简洁,被称为“集Smalltalk的优雅性、Python的易用性和Perl的实用性于一体”的语言。作为一种解释型的脚本语言,Ruby既适用于创建临时的小脚本,也适用于编写完整的应用程序。Ruby使用直接执行模型和动态类型,可以逐步开发代码; 大多数情况下,添加一项功能后,可以马上试用。Ruby程序通常比Perl、Python或者C++程序简洁。

Ruby的开发者松本行弘说过,他需要既能提高工作效率、又易于使用的一种语言。实际上,追求编程乐趣的这种渴望也许是Ruby与其他任何语言最大的不同之处。

每种语言都是为特定目的而设计的: 易于编程、代码紧凑性、可读性、执行速度、面向特定情形(如文本处理、数据库处理或者数值计算)。即便如此,由于大多数语言都是完备的语言,几乎可以用它们处理各种事务;它们之间的实际差异在于形式、风格、大小、易用性和可管理性。松本行弘在接受网上采访时说:“各语言确实不同,但区别很有限。譬如说,Python和Ruby为程序员提供了几乎同样的功能。”

松本在设计Ruby时尽量少用冗词赘语,譬如标题以及对变量和类说明的诸多要求。Ruby的语法是这样的:一旦熟悉了它的词汇和风格,就可以像读自然语言那样阅读多行代码,这大大简化了程序的阅读及维护。

Ruby不需要每个程序的开头部分用长长的语句来说明结构和变量。Ruby与Perl一样也有不少功能,很容易用来处理文本文件和系统管理等任务。它可以为类添加方法,甚至在运行时为实例添加方法,从而让一个类的实例行为有别于同一个类的其他实例。另外与Perl一样(但与Python大不相同),Ruby可以用多种方法来编写代码,因而它能吸引风格和个性截然不同的程序员。

Rails

Rails是用Ruby实现的一种全堆栈(full-stack)、开放源代码的编程架构,旨在快速、轻松地编写面向数据库的实际Web应用程序。它由丹麦的大学生David Heinemeier Hansson开发而成,基于他所编写的名为Basecamp的项目管理工具。Ruby on Rails在2004年7月向大众。

Hansson说,全堆栈架构的意思是指,构建应用程序的各层,以便协同工作,从而“不必重复你自己(DRY)”; 自上而下都使用一种语言。Rails里面的一切都是用Ruby编写的。为了实现DRY,Rail依靠两条指导原则。

第一条原则是软件要简洁,这意味着编写较少的代码行。保持代码简短可以加快开发、减少错误,并且使代码更容易理解、维护及改进。Ruby中有助于编写简短代码的一个特性就是,它假定架构本身能够并且应当处理元数据。

第二条原则是约定优于配置原则,这意味着Rails不使用配置文件,而是依靠一些简单的编程约定,通过使用应用程序代码里面已有的信息以及运行的数据库,让Rails弄清楚它需要知道哪些东西。据Hansson声称:“这意味着不需要由XML文件来说明代码里面已经说明的情况。这意味着没有编译阶段: 改动代码后,就可以看它的效果。”

上一篇:全方位保护安全软件生态系统 下一篇:CNGI分布式娱乐平台构建方案