距离 Ganymede 的发布只有几周时间了,人们已将目光聚焦在 Eclipse 的未来(称为 E4 )上了。 E4 高层最近就 Eclipse 的未来目标和发展方向展开了讨论。InfoQ此前曾报道过 E4,现在让我们看看更具体的东西。在现在这种情况下,E4 的名字更像是一个代号而不是一个计划中的版本号;同时在 E4 出现前,Eclipse 3.4 的后续版本号将是明年发布的 3.5。
E4 的主要工作就是让 Eclipse 环境可以运行在 web 浏览器中而不是(必要的)作为一个独立的应用。尽管 RAP ( webinar )已经展示了如何将服务器端的 Eclipse 应用(工作台示例,邮件示例)呈现在web 上,但是大多数现有的Eclipse 工作台和IDE 插件都是对用户界面硬编码的。
大家现在正在讨论带有浏览器版 SWT 的未来的 SWT 。 RAP 的当前实现使用 Qooxdoo AJAX 库(查看示例)从远程服务器来呈现UI。尽管我们的目标可能是要实现一个内嵌于浏览器的VM(像 Flex 或者 Silverlight ),但 RAP 的方式也许是个可行的方法,或者还可以使用类似于 GWT 这样的交叉编译(cross-compilation )的技术。
另一个方向就是可以使用其他语言编写插件,要考虑到未来的脚本化Eclipse 。已经有人建议使用 Scala 语言,尽管像 JavaScript 、甚至是 JRuby 这样的一些动态语言也可能会被支持。
为了使用服务器端数据在 Web 浏览器中展现 UI,我们必须对一些 singletons 解耦,这些 singletons 假定了一种一对一、用户到工作台的关系。此外,一些同步 APIs(如 EFS )需要被移植成异步的,这样才能处理基于 Web 的系统天然的异步性。有人正在讨论一个新的资源模型,希望它能避免对当前API 及新的应用模型的限制(如非嵌套的项目层次)。
E4 已经有很大进展了,重要的是 E4 的开发过程比以前更加开放了。但是要记住,所有这一切都是实验性的;因此E4 看起来应该(或者不应该)是什么样子都尚无定论。如果你想下载并尝试一些原型代码的话可以查看这些示例。
对于这种从客户端IDE 到基于Web 的框架的发展,你有什么想法呢?
查看英文原文: E4 summit debates on the future goals and directions of Eclipse
评论