为Eclipse组件实现Web用户界面 - 在基于Eclipse的组件内使用RIA技术2011-08-11 IBM Robert Ma简介:在本文中,了解如何使用 Web 开发人员可以采用的技术,比如 Dojo、Adobe Flex 和 OpenLaszlo,为基于 Eclipse 的应用程序增加趣味。此外,您还将能够轻松地将您的应用程序从一个桌 面应用程序转变为一个基于浏览器的应用程序,从而提供更多的部署选择。简介最近一些年来,Web 已经成为业界最为流行的软件平台之一。Web 应用程序广为接受,一 方面是因为 World Wide Web 带来的广泛可用性,另一方面是因为 Web 应用程序平台中有大量很棒的用 户界面(UI)技术可用。以 Dojo、 Adobe Flex、OpenLaszlo 等技术为例,它们可提供效果迷人的交互 客户机,可极大地改善用户体验。而桌面应用程序,比如 Eclipse,主要侧重于设计一个具有良好可用性和较高用户效率的 UI;一般很 难看到桌面应用程序包含交互的 UI。在 Eclipse 内,有一个灵活的工具箱 Draw2D 可用于构建 UI。不 过,它有很多限制。比如,它只支持静态图像(比如 JPG 和 GIF),不支持动态图像(比如 SVG)。而 且,在 Draw2D 内,效果和动画实现起来相当复杂,通常开发人员都不愿意涉足。在本文中,我 们将介绍一个面向 Eclipse 应用程序的 UI 范型:用基于 Web 的 UI 技术来构建 Eclipse UI 组件。为何要将一个 Web UI 集成到 Eclipse?Eclipse 是现今最为流行的开发平台。它高度可 扩展的框架让它备受推崇,并且现在很多应用程序都构建于 Eclipse 之上。在 Eclipse 内实现 UI 的一 种标准方式是使用 Standard Widget Toolkit (SWT)、JFace 和 Draw2D 框架。借助这些 UI 框架,您就 可以轻松实现具有令用户满意且与在该环境内使用的其他应用程序相类似的观感的应用程序。在大多数情 况下,这些框架可以很好地帮助您为用户构建最佳的 UI。但是,使用 Eclipse 提供的标准 UI 框架通常很难实现最精致、最直观、用户友好性最佳的 UI。比如,实现像阴影和颜色渐变这样的效果有 时会显得很重要。并且,在 Eclipse 图形视图/编辑器内放大可视对象会使这些图像(GIF 或 JPG 格式 )的外观变得粗糙。要解决这些问题,就需要编写定制的呈现程序来控制 UI 的设计和制图。但是,编写 过呈现程序的开发人员一定都知道这项工作不好玩。不理想的 UI 设计常常会影响应用程序的可用性。大多数 Web UI 均提供对高端可视效果(比如动画)的内置支持和对动态图像(比如 SVG)的支 持。因而,这些平台上的开发人员可以很轻松地以自己想要的方式实现 UI。此外,使用 Web 界 面技术开发的 Eclipse 组件可以很容易地被迁移到 World Wide Web,这就为部署提供了极大的灵活性。Eclipse 内的哪些组件可以利用 Web UI?Eclipse 内的任何 UI 都可以通过 Web UI 实 现。图 1 中所示的是 Java 透视图内的一个典型的 Eclipse 工作台。图 1. Java 透视图内的一个典型的 Eclipse 工作台

理论上,所有的视图 和编辑器均可使用 Web UI 实现。但是,在一个基于 Eclipse 的组件内,Web UI 技术只能用来实现 UI 。组件的核心逻辑应该仍由 Eclipse 环境实现。