[转] 书摘及访谈:Aptana RadRails,一个Rails的集成开发环境
原文地址:http://www.infoq.com/cn/articles/javier-ramirez-interview
=================================================
Aptana RadRails:Aptana RadRails IDE是由Javier Ramírez开发的一种最新的Rails开发IDE,可用于开发Ruby on Rails应用。在其官方网站上有如此描述:
一份全面的帮助文档,能够指导用户通过RadRails专业而富有成效地开发自己的Ruby on Rails项目。
- 在整个开发流程中提供全面的RadRails使用指南
- 代码协助、图形化调试器、测试、集成控制台
- 管理gems、插件、服务器、生成器(generators),以及Rake任务。
- 为升级到Rails2.x做好了准备
- 帮助文档有一章介绍了版本控制系统和数据库集成
- 智能的HTML,JavaScript和CSS代码协助
本书的出版商(Packt Publishing)也向 InfoQ提供了该书第七章的摘录──名为 《RadRails Views》。
InfoQ最近获得了一个采访Javier Ramírez的机会,我们就此书的内容以及Aptana RadRails IDE对他进行了如下访问:
Robert Bazinet (RB):您能向我们介绍一下这本书大概的内容吗?
Javier Ramírez (JR):简要说,本书将会告诉你如何最大限度地发挥Aptana RadRails Community Edition IDE的作用。它不会教你如何用Ruby编写程序或者是用Ruby on Rails开发web应用,而是告诉你如何使用Aptana RadRails更快更简单地做上述的工作。
这本书最开始是一些上手指南,告诉读者如何安装这个IDE,并且简要介绍了一下workbench。这个workbench初看起来功能非常丰富, 上手难度颇高。然后这本书指导读者如何创建一个简单的应用程序,在这个过程中,读者将会熟悉大部分常用功能,当然只是非常粗浅的了解。接下来将会向用户深 入介绍每一个RadRails工具:Ruby开发工具、调试器、内建HTML/JavaScript/CSS特性、一个全面的配置帮助等等。
最后一章介绍了如何使用第三方插件扩展Aptana RadRails功能。在这一章中将介绍如何使用插件将版本控制系统和数据库与Aptana RadRails集成在一起。
RB:那么在Rails开发中,Aptana RadRails能给开发者带来哪些好处呢?
JR:非常高兴你使用了“开发者”而不是“程序员”这个词。最近几年,我们看到在IT界“开发者”逐渐成为“程 序员”,尤其是我们在谈论web 应用开发的时候。在Google上搜索一下“COBOL programmer”/“COBOL developer”和“web programmer”/“web developer”,你就会明白我说的是什么。
任何Rails开发者都会告诉你,编程只是整个开发过程的一个环节,整个开发过程还包括:确定应用架构,创建数据模型,设计界面外观风格,采用测试 策略,将代码分享给团队其他成员--最极端的情况就是如果参的是开源工程,就会需要将代码分享给整个世界,部署到不同的服务器,跟踪记录需求、Bugs以 及更改。
Rails开发者通常都有非常大量的工作要做,但是许多开发者都只使用编辑器,并且为不使用复杂的IDE而感到自豪。
你确实可以只使用编辑器开发应用程序,但是一般的编辑器可远没有全功能的IDE强大,并且缺少代码重构,代码协助以及动态检查警告和错误这些特性。 即使你的编辑器不可思议地强大,你仍然需要额外的工具来处理编码之外的一些工作。当然,这些工具的接口都各不相同,你不得不学习如何使用。
使用IDE,你就能够在同一个工具中完成绝大多数开发相关的任务,不过也不是全部。也就是说,使用IDE,你将会有更多的时间来进行开发,而更少的 时间纠缠在工具上,这样使得你的开发更加快速简单。
RB:为什么开发者会使用Aptana RadRails?
JR:这个原因和开发者选择Ruby而不是其他诸如Java的语言的原因是相同的:因为你能够以更少的代价做更 多的事。我猜你想知道开发者期望能够从RadRails中获取什么样的协助。要介绍RadRails能够完成的事情,恐怕要花费特别长的时间,所以请允许 我向你介绍一些最有意思的特性。
在Ruby编辑器中,点击一个类、方法或者变量的名字将会直接跳转到定义处。你也总能够看到当前文件和在任意一个父类/模块中定义的模块、类、常 数、变量以及方法的概要。不仅如此,当你输入的时候,编辑器将会进行变量 /方法提示以及动态地检查代码中的错误和警告。如果鼠标停留在一个方法上,那么将会出现一个叠加层,里面显示是这个方法的文档,并且会告诉你可以使用哪些 snippet库来扩展你自己的snippet。如果你需要重命名变量或者方法,从当前方法中抽取一小段代码到另外一个方法中去,或者生成访问器,你都可 以利用重构工具来评估一下你在使得程序更加高效之前,所做的改变将会造成的影响。
图形化调试器让你更加方便地设置或者移除断点,一步一步地控制执行,观察和检测变量值,在当前断点的上下文环境下执行代码。内建的Tail View使得你能够在一个带有标签的接口中,方便地监视任意数量的日志文件,并且可以根据内容自定义输出的颜色。例如,你可以给不同优先级的输出 (Debug,Info,Error等等)指定不同的颜色。你也可以在RadRails中调用任何的生成器和Rake任务,同样也能够管理你自己的 gems和插件。这些操作生成的所有文件都可以在输出控制台中直接点击,你能够立刻打开它们。
当然,RadRails也能够帮助你进行测试。你可以按需启动测试,也可以在每次保存文件时或是定期地自动进行测试。
从这个概述中可以看到,Aptana RadRails提供了大量可用的工具,有了它,Rails开发者的工作变得更加简单。
RB:现在有很多Rails的开发环境,比如NetBeans和Ruby in Steel,RadRails跟它们相比,优势在哪?
JR:首先,我不会说Aptana RadRails是Ruby on Rails开发环境中的最佳选择。但是,它是我目前的选择,如果我的回答让你失望了,很抱歉,因为我真的不认为存在一个所谓最好的IDE。正如你说的,优 秀的IDE的数量在一直增长,例如NetBeans,Ruby in Steel,或者Aptana RadRails,同样也有Komodo,JetBrains,3rd Rail,RoRed或者TextMate这些不是IDE却有着IDE类似功能的工具。对我来说,竞争是好事情,因为竞争才能产生优秀的IDE,而且,开 发者有很多种,理应有多种IDE。例如,如果你比较关心内存消耗,RadRails可能并不是你最好的选择,因为它的内存消耗有些多;但是如果你希望所有 的事情都尽可能地由同一个工具来完成,那么RadRails就是个不错的选择。
我更喜欢RadRails是有一些原因的。首先,RadRails是一个免费开源的跨平台项目。我认为不需要向读者解释免费和开源意味着什么,但是 跨平台部分确实值得一提,因为我之前提到的IDE中有些仅仅只有某个特定平台上的版本(TextMate 仅仅只有OSX版本,RoRed也只是有Windows版本),但是你可以在Linux,OSX,Windows以及任何可以运行Java虚拟机的OS上 使用RadRails。
RadRails是基于Eclipse平台的这一点很重要。众所周知,Eclipse是一个最流行的多语言通用开发环境,如果你已经知道如何使用 Eclipse的话,那么使用RadRails将会非常简单,因为它遵循所有IDE的传统配置。
值得一提的是,两年多以前,当我开始使用Ruby on Rails进行开发时,RadRails还远未完成。当时已经存在一个Ruby编辑器的原生版本,可以使用它浏览文档和启动/停止服务器。而 RadRails那个时候就已经能够做到这些。当它基于Eclipse构建之后,我就已经将它和版本控制系统、我的BUG追踪系统以及数据库集成在一起, 我能够使用额外的插件跟踪日志文件,检查和测试正则表达式或者验证我的HTML以及CSS文件。
这里我想说的是,对web开发者而言,有很多Ruby on Rails不能完成但是仍然非常有用的东西。因为RadRails的基础是Eclipse IDE,这个IDE可以说是现在最完善最流行的开发环境,RadRails的任何用户都能从大量的通用扩展中获益。不仅仅是扩展,同样也有Eclipse 的核心特性。其中一个能够节省开发时间的插件是“Local History”。它追踪记录你在文件系统中对工程所做的任何修改,你可以将任何文件和之前某个版本进行对比,甚至可以恢复不小心删除的文件。
当然这几年RadRails已经有了长足的进步。其中一个最重要的改变就是Aptana接管了这个项目。最初的RadRails项目已经快无法继续 了,因为原开发者太忙而无法维护。Aptana接管这个项目,并且雇佣了一名全职人员。因此,新特性能够更快速地开发出来,更重要的是,RadRails 和Aptana Studio现有的HTML,CSS以及JavaScript工具集成在一起。
集成化使得在RadRails视图中能够使用代码协助。如果你在编写一小段Ruby代码,编辑器以及协助程序将会协同地工作,但是如果你在编辑一段 JavaScript,CSS或者HTML代码,那么IDE将会更改上下文,根据你现在正在编写的语言提供相应的协助。Aptana Studio的工具是如此地令人叹为观止,因为服务器和客户端的平滑集成,你甚至能够直接在IDE中调试RadRails应用中的JavaScript。
RB:你是如何看待使用RadRails的组织或者个人呢?
JR:在去年,尤其是在上个月,我已经看到越来越多的个人使用IDE来开发Ruby on Rails工程。除TextMate之外,NetBeans和RadRails是现在最流行的IDE,至少从邮件组,论坛和博客中的帖子数目中可以看出 来。
很多使用IDE的开发者都是从Java开始,他们已经使用了NetBeans或者Eclipse,所以使用NetBeans或者RadRails是 很明显的选择。此外,这些开发者中很多人都是在继续使用Java进行工作,将Ruby on Rails作为业余时间的工程,所以在两个环境中使用同一种工具是非常合理的。
从数百万次的下载量中我们可以看到,Eclipse已无可争辩地成为当今最流行的Java IDE之一,考虑到有诸如Borland、Intel、Motorola、IBM、Nokia、Oracle、Sybase以及Zend这样的公司支持, 它很可能在一段时间内都将保持这一特权地位。
我认为,随着越来越多的Java开发者发现Ruby on Rails,以及随着Rails在企业中的推广,Aptana RadRails将会被大多数使用Eclipse的开发人员所采用。你知道组织机构的改革是非常缓慢的,所以如果他们能在使用一个新的语言情况下,还能使 用他们日常的工具的话,那么采用的阻力将会小很多。我给一些以Java开发人员为主的公司做过Ruby on Rails的demo,事实上大部分情况下他们都惊喜的发现原来可以使用RadRails来直接进行开发而不用更换他们的IDE。
RB:你觉得Radrails的开发将会走向何方呢?哪些东西将会被抛弃呢?
JR:Eclipse最近已经开始进行3.4版的开发了,但是Aptana Studio和Aptana Radrails还只是基于Eclipse 3.2的(即使他们能够在3.3下工作)。现在,Aptana Studio和RadRails正在进行新版本的开发,以完全支持Eclipse 3.4。你已经能够在最新的Eclipse版本中使用RadRails,但是安装程序并不是全自动的,仍然存在一些小bug。
Eclipse 3.4是一个更加稳定的版本,这个版本在内存消耗以及用户界面上做了一些改进,所以Aptana采用这个版本,这能改善用户体验。
不仅如此,Ruby和RHTML编辑器也进行了改进,提供了更好的代码协助以及更高效的性能。调试器和Rails调试控制台也将进行改进,能够在任 意断点下计算表达式的值。同样也会做大量的工作使得JRuby更加易用。
RadRails最伟大之处在于大量集成到IDE中的新特性都是来自于Aptana论坛中用户的想法。某些部件,例如Rails Shell View,就是源自用户提出的建议,他们告诉我们应该如何更好地集成到IDE中。所以,如果你有一个很有意思的想法,可以让RadRails开发团队知 道,这样就有机会在将来版本中集成这个特性。
RB:Javier,谢谢你接受我们的采访!