二、开源世界的MVC新星
最近几年,在开源世界中出现了一个MVC新星。这就是Rails。这种框架是于Ruby语言的(一种非常容易理解的动态语言)。Rails这个框架就是完全按着MVC框架的要求而量身定做的。开发人员在使用Rails时,必须按着步骤编写模型、视图和控制器中的程序。在Rails中,一个模型实质上就是一个数据库表(也是一个Ruby类),而且这个Ruby类是基于活动记录的。也就是说,只要类名和表名满足一定的规则(一般是表名是类名的复数形式,如表名为users,类名为User),只要一个空类,就可以自动映射数据库表,当增加表字段时,也无须改动活动记录类名。
对于Rails的视图部分一般是rhtml页面(类似于JSP页)。控制器是普通的Ruby类。这样以来,不仅使用Rails的开发人员可以严格地按着MVC格式来编写程序,而且在操作数据库时也非常方便。根据我的使用经验,可以总结出Rails的如下三条优点:
1. 使用方便简洁。因为是Pragmatic programer那帮子人搞出来的东西,所以非常Pragmatic,疯狂使用了反射,元数据和强悍的、高度自动化的基类,再加上Ruby本身的动态语言优势,使得Rails的代码量只有Struts/Webwork+Spring+Hibernate的N份之一,默认的CRUD系统,只需要一行代码。
2. 拥有更高的性能。 据测试,速度居然还比Struts+Spring+Hibernate的速度快15%-30%。
3. 良好的语义和真正领域驱动开发。我觉得这点是最重要的,Active Record和Action Pack作为我心目中最优秀的ORM,MVC方案,真正实现了Domain Object模式和清晰的MVC管理,还有Ruby能把语义定义得像DSL一样。让编程语言口语化,把程序以日常语言来表达,而不是使用抽象的通用语言如Java,C#,并且按照机器的思维模式来编写是我所关注的。
到目前为止,已经有很多大型软件开发企业宣布支持Ruby on Rails。如非常著名的有Delphi的发明者,Borland,还是Java的发明者Sun。都提供了用于开发Ruby on Rails程序的IDE。尤其是Sun,它将NetBeans开源后,又在其中提供了免费的开发工具来开发Ruby on Rails程序。在个工具的编辑器部分做的非常出色,而且可以在IDE中操作Rails程序的所有部分。用NetBeans6开发Ruby on Rails程序的效果如图1所示。

图1

图1
我相信,所有使用过Ruby on Rails的开发人员都会对ROR的开发效率和性能所折服。不觉惊呼,“Wow,真是太酷了!!”