June 2, 2011
This article was contributed by Joe 'Zonker' Brockmeier
Web-based development with Eclipse Orion
翻译:李凯
Web 开发者应该使用以 Web 为核心的工具进行工作。这看起来是一个非常合理的事情,但是在实际的应用中,Web 开发人员被禁锢到设计用于桌面开发的工具上。Eclipse Project 正在寻求用 Orion 来改变这种现象,它是一款基于web的开发工具,用来进行web应用的开发。Orion仍然处于起步阶段,但它确展示出了很多的希望。
Eclipse project 在一月初宣布了Orion,并在三月份推出了一个主机服务版本。最初的贡献是来自IBM的原来的 Eclipse 团队做出的,并作为促进了这件事的发展。最新版本Orion 0.2 M7已在五月初发布了。
Orion跟许多开发者熟悉的Eclipse IDE是完全独立的。Orion是用一套松散的、成对的(前端是js,后端是Jetty + Equinox)组件集合成的工具。根据Orion 的整体架构,我们可以看出Orion的目标是使基于浏览器的工具成为其特色,这些工具与本地存储的数据进行交互,或者是通过REST APIs获取存储在“云”里的数据。前端代码是EPL和EDL双许可的。服务器端只有EPL许可。
适用于 Orion 的场合很多,可以是任意类型的web开发。从单个开发者用PHP、JavaScript、HTML和CSS开发简单的网站,到开发像Orion一样的架构,包括服务器端的Java组件、客户端的JavaScript、CSS和HTML。
这不是Eclipse Foundation第一次以 Web 为中心所做出努力。2008年,在EclipseCon上展示了一个基于web的Eclipse 4.0 原型。但是这个方案后来被摒弃了,Orion是一个新的代码库,它几乎不包含现有的Eclipse代码库的任何东西。
世界上已经有很多IDEs(像Eclipse)和其它开发工具,你也许会对为什么还很有必要再开发一款在浏览器上运行的工具而感到奇怪。Eclipse开发者Boris Bokowski对此有一个简单的回答——Orion并不等同于IDE。根据Bokowski的说法,开发者已经用了很多基于web的软件作为他们开发的一部分:Bugzilla,代码审查工具Gerrit,在线阅读文档,基于web工具的代码库,比如GitHub。但是他们使用桌面工具(诸如文档编辑器或者完整的IDE)来进行实际的编码和调试—------这并不是最理想的。Bokowski总结:
-
我们建议是把余下的软件开发也活动转移到浏览器上来。。。
-
-
这让其作为一种开发软件的方式变得有意义,你会想让所有这些基于浏览器的工具一起工作。更理想的情况是,你会想要得到一集成的东西,这通常都是要从典型的IDE得到类似的,但是不用建立另一个IDE。我们想建立一个与现有的网络上已经存在的工具合作很好的东西,不应该让程序员去更换其已经使用很熟练的开发模式。因此,我们的方法必须基于发展成熟的网络架构——用超级链接在不同的工具和资源间浏览,使数据能在RESTful方式下访问,并使用诸如HTTP、JSON、OAuth、OpenID等一些网络技术。
这个的优势在哪里呢?一般来说,从大多数基于web应用中派生出来的一个共同的优势是:开发者不用安装IDE,也不用一直保留一个(假设他们用了一个由其他人提供的主机服务实例)。它非常适合于 Web 开发,因为开发者已经用浏览器来进行测试和调试。Orion 是用 JavaScript 开发的,这意味着它的目标受众——Web开发者——应该也有能力扩展和帮助项目的发展。
Orion具有非常好的可扩展性,现在已经有一个插件架构在其上运行。然而,Orion处理插件的方式可能与你之前使用的方式有些差异。不同于在Orion托管的服务器端安装一个插件,Orion的插件 link 到那些 host 插件 JavaScript 源代码的外部网站上。这消除了开发者通过接入服务器来安装他们所需要的插件的做法。相反,他们可以链接到(或创建)插件,然后指向它们。
这些插件一旦被安装了就会一直存在着—也就是说,开发者在第一次用Orion指向它们之后就不用再重新安装了。目前,Orion并没有一个计划来保证插件不是恶意的或者提供一个kown-good插件库。如果Orion能发展起来的话,人们希望这个功能能增加进来。
Orion的开发原则是建议在任何时候都要重复使用已经存在的工具,而不是创造一些新的工具。有这么一个例子是,Orion正致为于Firebug的整合,并让Firebug 调用 Orion 当编辑器使。
获取和使用Orion
开发者使用Orion有两个办法。其中一个就是注册Orion的托管版本,叫做OrionHub。但是你也许想抓紧时间注册---根据测试公告,这个服务仅对最先注册的5000个开发者开放。当Orion社区发展以后,也许会增加新的账号注册——但在公告中并没有做出任何承诺。
或者你可以在你自己的机器上下载安装Orion。这个项目提供了用于Windows、Mac OS X、Linux的版本。相对于简单地注册OrionHub来说,安装稍微有点复杂,但是对程序员来说可以更多的控制,甚至修改 Orion 的功能。要特别提醒那些正在运行他们自己Orion实例的人们,需要注意----现在的Orion没有内置升级功能。这也就意味着,作为一个快速发展的项目,你也许不得不经常手工升级,所以必须记得自己备份用户帐号和数据。在wiki上有一些关于demo上如何清除服务器端数据的指导,你可以用这些指导来找出备份帐号和数据的方法。
在花费了一些时间来看Orion能提供什么之后,我得出的结论是它还需一些工作要做才能适合普通用户使用。事实上,Orion 的 FAQ也这么说. 尽管Orion团队正在自己使用它们,但是对于进行“实际的工作”Orion尚未做好准备。Orion最近仅仅获得了一些类似于HTML的语法高亮功能,仍然缺少 JavaScript 语言的代码完成(但是已经可以部分的支持 css 开发了)功能。现在是用 Textmate 的 grammars 做的语法高亮。想 hack 出自己所使用的语言的功能可以参考 wiki
Orion 已经可以跟Git库协同工作,包括从 OrionHub 向 Github 去 push。但目前最好还是用另外的Git客户端来完成 。Orion同时也缺少对其他版本控制系统的支持,Subversion、Mercurial或者其他VCS的用户暂时比较背。
Orion的下一个里程碑定于6月3日。这个版本会简化服务器配置,移动到 Dojo 1.6上,为内容辅助、按键设置提供扩展点,以及和不同的 Web 编辑器集成。Orion 已经获得了 Mozilla 的一些关注,打算将 Orion 编辑器放到 Mozilla 代码库里。从Orion的开发列表来看,这个项目已经相当活跃。
从目前来看,Orion并不是一个严肃的开发工具。尽管现在它已经具有了一个好的开发环境的开端,但是目前还无法在生产环境中使用;或许一年后它能做到这一点。如果你希望用它来开发你的下一个网站,你最好不要抱太大期望。然而,如果以浏览器为基础的网络开发环境的概念激起了你的幻想,那么Orion项目就是为了做这种贡献而开放的。关注这个项目是如何发展以及基于浏览器的模型超越桌面工具都将会是一件很有意思的事情。
最新评论