BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

动态语言IDE:Aptana Ruby和DLTK Ruby

| 作者 Mirko Stocker 关注 0 他的粉丝 ,译者 贾晓楠 关注 0 他的粉丝 发布于 2008年12月25日. 估计阅读时间: 7 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

大多数人都愿意用IDE来写Java和C#代码,因为有代码补全、智能格式化,甚至自动重构。在动态语言的世界,情况则不大一样。

原因之一是缺少类似静态语言使用的那种工具,这是由于为动态语言开发这类工具十分困难。不过好在这些动态语言的程序通常短小而简洁(例如和Java相比)。

不过,有时候使用集成开发环境还是很方便的,它可以接管开发者所有的日常任务,从使用源码管理工具、管理项目文件,到编译、调试和部署项目。在这一系列新闻中,我们采访了一些动态语言IDE的开发者,来介绍一下这些IDE的现状和他们的看法。

我们假定所有的IDE都具有一些基础的功能,比如高亮等,因此我们主要关注复杂一些的功能,比如重构(refactoring)。自动重构功能是一个成熟 IDE的标志,因为这需要对代码做深入详尽的分析。而且这也是一般的多语言编辑器无法提供的功能,除非使用第三方工具。

Aptana Ruby

基于Eclipse的Ruby开发工具已经得到了广泛使用,尤其是在Rails开发中,RadRails提供的扩展非常好用。RDT和RadRails都已经集成到Aptana Studio中了。而且RDT的主要开发者Chris Williams也受雇于Aptana。

Aptana的Ruby Studio一直都静悄悄的,少有动静。因此我们找到了Chris,谈一谈最近有什么新动态。

在过去的6到7个月,我正在忙着我们的新产品——Aptana Cloud。我一直在做关于API/server的所有工作,其用于协调Aptana Studio、第三方托管商,以及装着网站的主机本身。
正因如此,我不再像过去那样有那么多时间给用于Ruby支持和RadRails了。现在我基本上一有空就在修复bug,还有把Cloud支持工具化。如今Cloud已经公布了,我得去实现Rails支持。然后才能差不多全职回到RDT/RadRails上来。

Chris还说他们正在招兵买马,“确保插件开发能稳定地持续下去”。Ruby开发者要是想扩展他们的IDE,不必再用Java。

我们有一个插件,能让终端用户用Ruby代码来调用一小部分Eclipse编辑器API——这样只懂Ruby的人就能够用它写一些小的宏/脚本。如果是JRuby专家,就能用Ruby写出自己的扩展,访问所有的Eclipse API。

提示:InfoQ之前谈到过JRuby Eclipse脚本编程

Aptana现在支持Ruby、JavaScript、Python和PHP。下一个会支持什么语言?

我们一直在寻找社区中喜欢用什么开发web插件。当我们看到了足够的支持的时候,就会投入到这个领域。我们在洗耳恭听:让我们知道你们需要什么。

下一步的计划是把Studio合入现在的Eclipse Ganymede版本,“添加更多的高级Cloud支持,修复更多的大bug,然后我就能松一口气,在1.3.x RadRails的时间表上制定下一步计划了”。

Ruby开发工具早就支持重构了,实现了比如重命名、扩展、移动和方法内联。尽管这种重构还不够傻瓜化,也不可能在所有情况下都好用,但在多数情况下,能够显著减少手工复制粘贴(本文就是利用自动补全写成的)。

AptanaRadRails标签里面有关于Aptana IDE的更多内容。

DLTK Ruby

这个动态语言工具很特别,他们想要把基于Eclipse的动态语言IDE所需要的所有可重用的组件都集成到一个框架中,由此来帮助实现对新语言的支持。Ruby是DLTK最早的语言之一,再加上TCL,构成了DLTK的核心。

不幸的是,DLTK的动静也不太大。于是我采访了它的项目负责人Andrey Platov:

一提到TCL,我们就会想到DLTK TCL是最好的TCL IDE之一。我们仍在改进它,并打算把它集成到TCL解释器上。这些工作不是很容易看到。

关于Ruby(还有通常所说的DLTK):第一,DLTK(包括Ruby组件)是一个平台:我们一开始就没打算满足所有终端用户的需求。例如我们从来没有 计划过对Ruby on Rails提供任何支持。DLTK Ruby的目标是为其他厂商提供稳定、干净的Ruby语言平台,让他们基于其创建功能完整的工具。一个很好的例子是来自CodeGear的一个综合 Ruby IDE,叫做3rdRail。它就是基于DLTK Ruby的。

以 上这些并不是说DLTK Ruby不能独立使用。它作为一个很好的Ruby编程工具,许多语言爱好者都用它。我们不强迫开发者采用Ruby on Rails风格,也不迫使他们用RSpec……只是纯粹的语言,和开发者的创新。从另一个角度来看,这样一个“干净”的IDE,是厂商开发产品的一个很好 的平台,支持框架和他们选择的技术,并且他们已经免费拥有了顶级的语言支持。

回到你的问题上,我们现在的工作就是让DLTK Ruby更好地“理解”语言,更妥当地处理Ruby代码。

“试试看代码补全功能”,Andrey指给我看。将来的计划是改进语言支持,来“更好地理解Ruby,提供比如代码分析、重构和快速修正功能”。

DLTK暂时没有打算支持更多的语言,但他们“在为一些公司提供咨询,开发他们自己的语言的IDE”。Andrey还说,“基于DLTK的PHP开发工具(PDT)2.0即将发行”。还有一些基于DLTK的IDE正在开发,包括ANTLR、Lua、D、Perl和Scheme。各种DLTK开发包在Dynamic Languages Toolkit网站可以下载

这篇新闻是我们一系列动态语言IDE介绍的一部分。其余的部分可以在InfoQ的“动态语言IDE”标签中找到。要是你对Ruby IDE的介绍感到意犹未尽,你或许对InfoQ的Netbeans支持Ruby的文章感兴趣:。 

查看英文原文:Dynamic Language IDEs: Aptana Ruby and DLTK Ruby

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT