微科社区,轻松开发从此开始! 请登陆 免费注册

微科社区

当前位置:首页 > Java平台 > Eclipse >

专访Groovy Eclipse v2开发团队 分享Eclipse插件开发经

时间:2014-10-14 17:14  浏览:努力统计中...
Andrew Eisenberg曾是英属哥伦比亚大学的一名PhD开发人员,后来工作于SpringSource团队,并从事Groovy Eclipse工具支持方面的工作。他的主要开发理念是:通过与正确的IDE交互,将 更具表达力。

        Andrew Eisenberg曾是英属哥伦比亚大学的一名PhD开发人员,后来工作于SpringSource团队,并从事Groovy Eclipse工具支持方面的工作。他的主要开发理念是:通过与正确的IDE交互,将

更具表达力。

         Andy Clement则是SpringSource的高级软件工程师,他做许多与开发工具有关的工作( Groovy,AspectJ、Tasktop以及SpringSource工具套件)。过去的几年里Clement一直在领导AspectJ Eclipse项目。他还在Spring Framework 3 中创建了Spring Expression Language支持并为SpringSource dm Server写了不少代码。

        作为Groovy Eclipse v2的开发者,Dzone对两人进行了专访。

        Dzone:你们刚刚宣布了Groovy Eclipse v2插件的alpha版本,Groovy / Eclipse社区对Groovy与Eclipse的更好结合期待已久,在这次的发布的版本中,有哪些特性值得他们的期待?

        Andrew:对于这个Alpha版本,我们的目标是:在Groovy与所有开发者期待的Java工具的特性中,能够支持基本的编辑-保存-编译-运行周期。尽管如此,这还只是一个alpha版本,虽然它包含

最终版本中的大部分主要功能,但仍会有很多新增、性能调试和测试

        Andy:我们从AspectJ和它的工具支持学到了很多。这个问题不在于你的语言有多聪明,而在于IDE的功能,如果IDE中没有渐进式编译、代码协助和导航,那么依然影响应用的编写。这个Alpha

版本也是支持另一种语言直接进入Eclipse JDT的标志性版本。

        Dzone:你是如何进入Eclipse插件开发领域的?

        Andrew:早在我做PhD时,我就有了扩展型编辑器的想法。像Groovy这样的语言可以通过使用元程序来扩展语言,当时我就在想能否通过元程序来扩展编辑器。尽管我可以找到一些头绪,然而

我还是没能真的找到可用的扩展编辑器,这与JDT的局限性有关。JDT是高度优化和优秀结构的框架,用来构建Java语言的工具,而不是用来扩展或者支持其他JVM语言。

        毕业后我就业于SpringSource,刚好解决的是AJDT(AspectJ Development Tools)问题,在此期间我们遭遇到瓶颈,因为将AspectJ模型集成到JDT的Java模型中非常困难,这主要是因为JDT

缺乏对新编程元素的支持。最后我们在Eclispe上使用AspectJ来让JKT更具扩展性。

        不久之后,我被邀请到参与Groovy-Eclipse支持的开发。最初我认为同样的方法可行(即使用AspectJ来让Eclispe更加兼容Groovy),结果发现每种语言都不同而且相应的开发工具也不同。由于

JDT要求的扩展类型不符,因而使用AspectJ来支持Groovy不可行。后来我们发现也许存在一种方法将Groovy编辑器与Java编辑器整合起来。

        Andy:当时我就职于IBM从事于Java支持CICS主机的支持优化工作,想寻找一个新的工作。我的同事当时从一个会议上回来并告诉我们一个关于新项目的主意,他的名字是Adrian Colyer,现在

是SpringSource的CTO,他发现了一种叫做面向Aspect编程(Aspect Oriented Programming)的东西,并试图为这种新语言创建Eclispe工具。渐渐的,我们转向于从编辑器端寻找解决方法,可以

让更多兼容Eclispe的开发者在UI端工作。幸亏有了AJDT项目,AspectJ作为一个改良过的Eclipse JDT编辑器,我从中学习到了很多。

        最初我试验Groovy插件遇到了麻烦,于是回头查看到底是因为什么,与Jochen Theodorou讨论了架构之后,我意识到这是Eclispe支持的一个很好的方法。有时候我们会花费很多时间来复制一

大段Eclipse JDT代码只是为了改变其中的某几行,或者编写许多代码来为AJDT中的某个特性创建支持,比如渐进式编译。通过让Eclispe理解Groovy编辑器,可以实现这些功能。

        Dzone:在开发Eclispe插件的过程中有哪些可以分享给开发者呢?

        Andrew:为Eclispe开发插件很不容易,有许多东西要学习,而且似乎有数不尽的API要了解。尽管如此,如果你知道如何正确地使用这个平台,那么仍然可以创建强大的应用。

        学习Eclispe平台最好的方法之一就是阅读它的源代码,这些代码写得很好而且标注也很全。平台本身就是最好的客户端,可以让你获悉它的API是如果运行的。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线------