写点什么

动态语言 IDE:Aptana Ruby 和 DLTK Ruby

  • 2008-12-24
  • 本文字数:2126 字

    阅读完需:约 7 分钟

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

Aptana RadRails 标签里面有关于 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

2008-12-24 00:031634
用户头像

发布了 33 篇内容, 共 52982 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

第七在线智能商品计划签约潮流风向标Alexander Wang亚历山大·王

第七在线

2023年度优秀贡献者名单正式公布!恭喜 36 个团队/个人、30+企业上榜

OpenAnolis小助手

开源 操作系统 龙蜥社区 获奖 榜单

Java Chassis 3技术解密:负载均衡选择器

华为云PaaS服务小智

云计算 软件开发 华为云

SD-WAN解决跨国公司海外工厂网络安全问题

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商

Phaser性能测试加强版

FunTester

荣耀开发者大会 2023·一张图读懂服务分发分论坛

荣耀开发者服务平台

行业趋势 开发者大会 智慧生活 honor 分发

电商API接口入门指南

Noah

鼓掌!阿里技术官亲荐“架构修炼宝典”,从基础到源码,一站到底

Reische

MySQL 面试 Java 面试 大厂 程序员‘

荣耀开发者大会2023 · 一张图读懂智慧人机交互分论坛

荣耀开发者服务平台

AI 交互 开发者大会 人机协作 honor

23年通天塔搭建页前端性能优化阶段分享

京东科技开发者

2023 年公链发展报告

Footprint Analytics

区块链 以太坊 加密货币 公链 Layer 2

KubeBlocks v0.8.0 发布!Component API 让数据库引擎组装更简单!

小猿姐

数据库 云计算 Kubernetes

掌握这本算法宝典,轻松拿下字节跳动offer

Reische

算法 Java' 程序员‘ 算法、

揭秘Spring事务失效场景分析与解决方案

EquatorCoco

数据库 spring 框架

荣耀开发者大会 2023·一张图读懂应用分发分论坛

荣耀开发者服务平台

开发者大会 honor 分发与计算 应用市场

阿里巴巴重磅推出:Java进阶必备宝典,从理论到实战,一册在手

Reische

MySQL tomcat Netty 「Java 25周年」 JVM’

「繁花」绽放,「她力量」引领AI新革命

Geek_2d6073

大型企业SD-WAN异地组网实例分析

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商

如何开通免费域名邮箱 企业邮箱

景博

2024谷歌SEO自学基础入门

九凌网络

如何利用API接口获取电商平台数据?

Noah

阿里巴巴内部热传:Java突击宝典,程序员必备升职加薪指南

Reische

MySQL sql 大厂 Java' redis'

火了!外国网红为 KubeBlocks 打 CALL:K8s 中统一管理多种数据库用 KB 就够了!

小猿姐

数据库 云计算 Kubernetes

动态语言IDE:Aptana Ruby和DLTK Ruby_Ruby_Mirko Stocker_InfoQ精选文章