关于Rails的前言

2018-10-22 09:36 更新

Rsills  

Rails框架从诞生的第一天开始就受到了B/S应用开发领域的广泛关注,经过大约几年发展,Rails框架已经逐渐成熟稳定起来,国外已有相当多的公司开始选择从JavaEE平台过渡到Rails开发平台。毕竟,Rails平台提出了一个非常具有诱惑力的口号:开发效率是JavaEE开发平台的10倍。

的确,Rails具有很好的开发效率,而且很难出错:在JavaEE开发领域,你需要掌握很多框架,详细了解每个框架的各种特性,你才可以组合出一套适合自己的开发平台。但在Rails领域,你无需选择,你只要按Rails平台的约定开发,一切都会非常合理,非常优雅。

Rails平台不仅提供了整套的MVC解决方案,并且提供了丰富的代码生成器。Rails甚至不完全是一个框架,更像一个企业开发平台,它搭建了整个应用开发的骨架,并提供了大量的代码生成器来辅助开发,开发者只需在系统生成的代码骨架上进行适当修改、定制即可完成应用的开发。选择使用Rails作为开发平台,仿佛上了铁轨的火车一样,火车只管向前运行,铁轨将负责把火车带到最终目的地(Rails就是铁轨的意思)。

Rails框架对迭代式的增量开发有很好地支持,即使系统的数据库需要重新设计、需要增加系统实体,Rails一样能够轻松面对迭代式的增量开发正是敏捷开发的核心之一,这也是Rails框架被称为敏捷开发框架的原因。不仅如此,由于客观世界的复杂性,需求的变更常常是许多开发者最头疼的事情。使用了Rails开发平台后一切都改变了:Rails替你做好了拥抱改变的准备,它的灵动性令人啧啧称奇。

自2007年Apple的Leopard上捆绑了Ruby on Rails出售以来,Rails 社区也已不断壮大。全球有众多的 Rails 开发人员充满活力、团结互助,并且渴望不断地改进该软件。可以毫不夸张地说,Rails 的改进应归功于社区,因为是程序员之间不断的相互超越使得构建出的软件越来越完善。如此不断地循环,各个功能才得以从初期阶段快速发展,逐渐变的实用、功能不断强大并完善,最终成为不可或缺的工具。在很多情况下,社区认为最基本的 gems 和 plug-ins 都会保留到 Rails 核心中。Rails 的 named scopes(一个查询快捷方式),可实现与 nested forms 相同的功能。这是一个新增的功能,可取代以前的尝试,并在相同的 HTML 表单中创建和编辑多个模型。实际上,对于 Rails 开发人员来说最困难的任务或许就是跟上变化的节奏。(幸运的是,目前有一些 Ruby 和 Ruby on Rails 的每周播客,这些播客会组织并呈现最新趋势以及分享最佳实践。)

Rsills的特点

Rsills的特点

全栈式的MVC框架

Rails是一个全栈式的MVC框架,换句话说,通过Rails可以实现MVC模式中的各个层次,并使它们无缝地协同运转起来。

在实际开发一个MVC模式的Web应用项目时,如果使用Java开发,需要用到Struts(View 层)、Hibernate(Model层)和Struts(Controller 层)spring 整合mvc 3个框架,而且需要额外整合3个框架开发出的内容。而使用Ruby语言开发相同的项目时,只需要用到Rails框架就可以完成。

约定优于配置

为了说明各个对象之间的关联关系,一般的Web应用开发框架往往采用写入XML配置文件的方法。这种方式虽然可以解决一些问题,但是却带来了管理上的混乱。

Rails 对此的态度是约定优于配置,这意味着在Rails中不会出现XML配置文件。Rails使用Web应用多年来积累的各种常见约定(更具体地说是命名规则)来代替XML配置文件,而在Rails内部的映射与发现机制根据这些约定可以实现对象之间的关联。在第1章中,通过Rails的映射与发现机制实现了数据表与Ruby对象之间的关联。

更少的代码

使用约定来代替XML配置文件说明Rails本身完成了大量的底层工作,这意味着使用更少的代码来实现应用程序是极有可能的。此外,代码量的缩减也减小了出现bug的可能性,降低了维护程序和升级程序的难度。

生成器

Rails 使用的实时映射技术和元编程技术,免去了开发人员在开发过程中编写大量样板文件代码的烦恼。在少数需要使用样板文件代码的时候,开发人员可以通过 Rails内建的生成器脚本实时创建,而不再是通过手工编写。Rails的这个特点可以使开发人员更专注于系统的逻辑结构,而不必为一些琐碎的细节所烦扰。

零周转时间

对已有的Web应用系统进行修改后,其一般需要经过配置、编译、发布、重新设置、测试等一系列步骤才能投入使用,这明显浪费了许多时间。而使用Rails开发Web应用系统,可以通过浏览器即时查看程序运行结果,从而节约了大量的时间。

支架系统

Rails的支架系统可以自动为任何相关的数据库表创建一套包含标准CRUD操作和前台视图的系统。通过支架系统,开发人员可以方便快捷地操纵数据库中的数据表。此外,Rails也允许开发人员使用自己设计的代码或视图来替换自动生成的代码和视图。

指导原则

Rails的指导原则是"不要重复你自己"(Don't Repeat Yourself, 或DRY).意思是说你写的代码不会有重复的地方.比如以往数据库的接口往往是类似的程序代码但是在很多地方都要重复用到.这无论是给编写还是维护都造成了很大的代价.相反,Rails给你提供了绝大多数的支持,让你只需要短短的几行代码就可以实现强大的功能.而且,Rails提供了代码生成工具,让你甚至不需要编写一行代码就实现强大的管理程序.Rails通过reflection和runtime extension减少了对configuration文件的依靠,这和Java,C#语言的方向有很大不同,让你减少了很多配置和部署的麻烦,但是性能上却完全可以应付一般网站的需求。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号