了解 Eclipse Orion:生于云,用于云

在浏览器中获得 JavaScript 开发工具功能

Eclipse Orion 项目的目标是创建一个基于浏览器的、开源的工具集成平台,一个完全为 Web 而开发的、位于 Web 中的平台。Orion 工具是使用 JavaScript 编写的,它们在浏览器中运行,而且它们的组件可单独使用。本文将介绍 Orion,提供一些参考资料和评论来帮助您熟悉这些工具。

developerWorks Cloud 团队, developerWorks, IBM

developerWorks 团队努力工作,收集并创建帮助您了解有关云计算和在线分布式环境的更多内容。



2014 年 4 月 14 日

Eclipse Orion 项目的目标是创建一个基于浏览器的、开源的工具集成平台,一个完全为 Web 而开发的、位于 Web 中的平台。

  • Orion 工具是使用 JavaScript 编写的;它们在浏览器中运行。Orion 基于浏览器的开发 IDE 并不仅在单个浏览器选项卡中运行 — 所有链接都是有效的、可共享的,这为开发人员提供了开发任务的一种真正的 Web 体验。
  • Orion 组件可由其他项目(例如 Firefox ScratchpadGitHub 上的 Scripted Editor)单独使用。Orion 的所有组件都可以在面向公众的 OrionHub 站点 上查看,您可在该站点中创建一个帐户并试用 Orion。

JazzHub:受 Eclipse Orion 强力支持

JazzHub(一个协作式、基于云的开发环境)中查看 Orion 的实际应用。立即注册并在 2014 年之前获得免费的私有项目。

Orion 的功能和影响

在 2013 年 3 月,eWeek 杂志的 Jeff Cogswell 探讨了 Eclipse Orion:

Eclipse Orion 是一个在线集成开发环境,它的创建目的是向 Eclipse 桌面 IDE 提供类似的功能,但它是在浏览器内运行的。

  • Orion 包含一个使用 Java™ 编写的服务器,您可以通过浏览器连接该服务器。
  • 该浏览器应用程序包含大量 JavaScript 代码,还包含一些开源库,以提供不错的 IDE 体验。
  • 文本编辑器可用来编辑任何文本文件,而且它包含 JavaScript、级联样式表 (CSS) 和 HTML 等多种语言的语法突出显示。
  • IDE 可用来管理文件夹,创建和编辑文件,创建新项目,甚至使用 Git。
  • 您可以从头构建项目,或者使用任何已提供的入门模板。
  • 编辑器还可全面扩展,包括一个完全基于 REST 的接口,您可以通过它创建扩展,并包含服务器端 Java 代码,以及客户端 JavaScript 代码。
  • 很容易从 IDE 添加扩展,并通过 Web 上的各种扩展页面添加扩展。

随后,Jeff Cogswell 回顾了他对 Orion 的使用(“Eclipse 的在线版本”),重点介绍了他最喜爱的功能,其中包括:

  • 编辑器的代码搜索和本文搜索功能。
  • 编辑器使用 JSLint 提供了功能分层结构,并查找错误和警告。
  • 以各种不同的方式创建和导入项目的能力。
  • 它在构建时考虑可扩展性;后端被构建为既可以扩展又可以松散耦合,所以您可以将它精减为一个组件子集。

Martin Lippert:拥抱 Eclipse Orion

JAX 编辑 Chris Mayer 花费了几分钟与 Eclipse Orion 项目领导 Ken Walker 一起讨论了浏览器 IDE 和它的设计目标、它与主要 Eclipse 的区别,以及您可向其中引入哪些技术。
视频,30:51 | 脚本

Martin Lippert 是 VMware 的一位工程师,负责研究用于 Spring 的基于 Eclipse 的开发人员工具。在 2012 年 11 月的 ECE2012 大会上,Lippert 展示了他的团队如何重用 Orion 构建他们自己的基于浏览器的开发人员工具,并向 JavaScript 开发人员展示了一个以编辑器为中心的、基于浏览器的方法,该方法构建于 Eclipse Orion 之上。


Orion 背后的人们

作者照片Ken Walker 是 Eclipse Orion 项目的共同倡议人和提交者。他自 2011 年秋季开始在 Orion 团队工作,作为一位开发人员,他喜欢介绍 Orion 背后的技术和概念。

与 Ken Walker 一起讨论 Eclipse Orion

Ken Walker 展示了他如何重用 Orion 构建自己的基于浏览器的开发人员工具,并向 JavaScript 开发人员展示了一种以编辑器为中心的、基于浏览器的方法,该方法构建于 Eclipse Orion 之上。
视频,6:50 | 脚本

2013 年 6 月 18 日,Ken Walker 在 JAXConf 2013 上与 JAX 编辑 Chris Mayer 一起讨论了 Orion IDE 和它的设计目标、它与主要 Eclipse 项目的区别,以及您可以向其中引入的技术。

Ken 强调了 Eclipse 与 Orion 之间的区别(“Eclipse 是一个桌面 IDE……Orion 为云而生”),并解释了在云适应性方面,该 IDE 是浏览器上的 JavaScript,它连接到一个 Java 或 node.js-服务器后端。

在 2013 年 4 月的 MLOC.JS 国际 JavaScript 大会上,他 探讨了 Orion IDE,并解释了在 Web 开发上的两大思考阵地:原生和非原生。

作者照片Simon Kaegi 是 Eclipse Orion 项目的另一位共同倡议人和提交者。他是 Orion 架构和实现的技术领导,代表 IBM 推进着 JavaScript 语言 (ECMA) 和浏览器 API (W3C) 的发展。他是 Eclipse 核心团队的成员,过去曾参与 Equinox(服务器端、p2 和概略)、e4(JavaScript 模块性和调试)和 JSDT 项目。


Orion 的技术基础

Ken Walker 在 Eclipse 时事通讯 的 2013 年 6 月的一期节目中 详细介绍了 Orion 项目的基础。他解决了一般开发人员对 Orion 尝试实现的目标和它 “在技术上” 与一个标准 Eclipse IDE 有何不同的困惑:

Orion 是一组组件,这些组件共同提供了组成一个可扩展、基于浏览器的开发平台的服务器代码和客户端代码。这些组件与其他许多 Eclipse 项目不同,主要因为它们是使用 JavaScript、CSS、HTML5 和当代目标浏览器(比如 Firefox、Chrome、Safari 和 IE10)编写的。对 Web 开发人员而言,这是 Orion 的初始目标。

他继续解释道,当前的 Web 开发工具没有 Java 开发团队为 Java 开发人员提供的工具完备。大多数开发人员使用一个单机编辑器或命令行工具来执行日常开发任务。Orion 提供了 Java 的语言功能,以及与云服务的紧密集成,这使得开发和部署云/Web 应用程序和服务变得更容易。

本文将介绍主要的 Orion 组件:

  • Orion 服务器:Java 服务器端服务是通过面向 REST 的 HTTP API 进行公开的。这些 API 提供了文件系统、搜索、Git 支持和首选项等服务。因为该客户端只需使用这些服务即可在服务器上操作,所以服务器的选择很灵活;Orion 团队最近基于 node.js 编写了一个新的服务器,一位社区成员基于 Go 编写了一个新服务器。
  • Orion 客户端:在执行主要开发工作的地方,一个 Orion 浏览器 “页面” 初看起来似乎毫无用处,因为它专注于任务和资源,可轻松地支持探索和利用跨站点工作流;设计这些页面无需执行您在同一个浏览器选项卡中能够执行的所有工作,这正是 Orion 不同于传统 IDE 体验的地方。Orion 的行为类似于一个 Web 应用程序。您可以使用浏览器的前进和后退功能,将您浏览的页面加入书签,并在新选项卡中打开新页面,以构建更多的功能。
  • Orion 插件架构:Orion 提供了许多扩展点服务类型,可为它们提供插件来自定义客户端和添加功能,包括向编辑器工具栏或导航器视图添加更多的命令;为新文件类型添加内容帮助;以及添加语法突出显示规则。开发人员将插件编写为 HTML 文件,其中包含一些知道如何连接到 Orion 客户端的 JavaScript 代码。

Orion 的设计是可扩展的。这些页面构成了 OSGi Services API 的一个 JavaScript 实现并供该实现使用;插件(使用 JavaScript、CSS 和 HTML 编写)遵循标准 OSGi 规范中使用的生命周期和 Bundle 的状态。


Orion 实战

为了总结所有这些 Orion 资源,本节提供了多个演示文稿、视频和博客,展示了使用 Orion 的各种方式。

4.0 版中的新功能

Orion 项目提交者 John Arthorne 在此博客中详细介绍了 最新的 Orion 4.0 M2 版本的新功能,其中包括:

  • 用于 README.MD 文件的 Embedded Markdown Renderer
  • 编辑器功能,比如括号完成、智能缩进和代码块注释完成
  • 自定义的本地编辑器设置下拉菜单
  • JavaScript 中针对 Node.js 模块的内容帮助
  • 以差异或完整文件形式将文件保存到服务器
  • 文件查看器中的 Git Blame 注释
  • 使用 Git Revert 撤销 Git Log 中的一次特定的提交
  • 初步支持 Orion 项目,扩展的功能即将面世

node.js 上的 Orion

Ken Walker 展示了一个关于 node.js 以及 Orion 如何在 node.js 之上运行 的幻灯片演示,包括如何将 node.js 绑定到 Orion(通过将 Java REST API 绑定到合适的 Orion 插件)、让该组合发挥作用所需的依赖关系,以及如何在此环境中使用文件搜索。

他还提供了一个视频,演示了如何使用 Orion 在 Raspberry Pi 上利用 node.js,还演示了 Orion 如何使得执行许多开发任务变得更简单。

在 Raspberry Pi 上安装 Orion 的 Node.js 版本,5:11
Video: 在 Raspberry Pi 上安装 Orion 的 Node.js
                        版本,5:11
抄本

将 Orion 比较功能嵌入到网页中

项目提交者 Libing Wang 演示了如何 将一个用于比较的小部件(compare widget)嵌入到您的网页中(请记住,最新的 Orion 版本支持 单机比较构建版本)。该小部件(一段可在客户端代码中的任何地方使用的纯客户端 JavaScript)可添加到您页面的任何 DOM 元素中,无需访问 Orion 服务器。

嵌入相对容易,因为服务器端不存在依赖关系。您可以 启动该演示查看源代码

将 Orion 编辑器嵌入网页中

项目提交者 Bogdan Gheorghe 在博客上介绍了如何 在博客中使用 Orion 编辑器,包括将代码嵌入到标头中(如果您将在博客中包含大量大码)还是在线运行代码中(对于较少代码)。使用 WordPress 和 Blogger 作为示例。

在浏览器中编辑 COBOL

Micro Focus 的 Chris Whitty 演示了如何 使用 Orion 编辑 COBOL。他在 Summer 2013 上详细介绍了一个项目,Micro Focus 有一个实习团队与他们一起为 Orion 创建了一个 COBOL 扩展。有许多不同的风格,包括一个支持语法检查和格式化等功能的完全托管的 Orion 实例(演示)。他们还在其他一些上下文(比如在线代码样例浏览器)中重用了该编辑器。


Orion 的未来

Orion 的未来在于您对 IDE 的兴趣,您可以在任何合适的项目中进一步了解如何使用 Orion 以及如何使用它进行开发。考虑到这一点,以下是一些可帮助您开始探索使用 Orion 执行 Web 和云开发的最终资源。

参考资料

学习

讨论

  • 加入 developerWorks 中文社区。探索由开发人员推动的博客、论坛、群组和维基,并与其他 developerWorks 用户进行交流。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Cloud computing, Open source
ArticleID=968408
ArticleTitle=了解 Eclipse Orion:生于云,用于云
publish-date=04142014