Eclipse Corner

Eclipse.org网站中关于Eclipse 3.0 中引入的RCP的介绍

Rich Client Tutorial Part 1

Rich Client Tutorial Part 2

Rich Client Tutorial Part 3

另外,还有IBM采用RCP构建其产品的新闻【转载自:www.eclipsenews.com

Staunch Eclipse supporter IBM didn't waste any time in adopting the Rich Client Platform features in the new Eclipse 3.0. Big Blue's Lotus Software brand is expected to release this month a new Workplace Client Technology and supporting collaborative applications on top of the Eclipse Rich Client Platform.

"Eclipse is an extensible integration platform," said Rick Wilson, Lotus's architect of the Workplace Client Technology. "It's a powerful model."

IBM's new Workplace Client Technology comprises three server-managed client options that administrators can assign to workers, depending on their computing needs. A Web browser provides a light client for accessing applications, a rich client provides a traditional portal environment for accessing applications, and a microenvironment provides a wireless client for accessing business applications through mobile devices.

Applications that Lotus built for its Workplace platform and also based on Eclipse, including Lotus Workplace Messaging 2.0 and Lotus Workplace Document Management 2.0, can be accessed through the Lotus client model. Those applications also should be available this month.

The model is built using the new Eclipse 3.0 runtime environment features for developing rich client platforms. "Eclipse provided the underpinnings," Wilson said, for the construction of desktop applications.

The Eclipse Foundation made changes to the 3.0 release that make it possible for developers to build applications on top of Eclipse. "We refactored the basic framework within the Eclipse platform," said Mike Milinkovich, executive director of the Eclipse Foundation. New rich client platform capability includes Eclipse's window-based workbench GUI, the dynamic plug-in functional extension mechanism, help subsystem, and update manager.

The Rich Client Platform is a new area for Eclipse, but community interest and user feedback provided the motivation for building the capability into the Eclipse integrated development environment.

Lotus employed Eclipse components like the Standard Widget Toolkit (SWT), JFace, and the workbench to compose user interfaces and create things like rich client platform views and editors in its Workplace Client Technology.

Lotus developers also leveraged the thin client frameworks that traditionally serve browser content in its rich client technology. "The idea is that Lotus Workplace rich client technology can drive the views that show up on the client page through the same model that drives the content for browsers and use a portlet to define the page," Wilson said. "Portlets can be combined with portal access control and user policy to retrieve components needed by the client to realize that page." The platform brings middleware in J2EE to the client side.

This server management component of the Workplace clients and applications also is based on the Eclipse rich client platform, and is a big key of how Lotus products add value to the Eclipse platform as a plug-in. Where the Eclipse Rich Client Platform is unmanaged, Lotus added features for a managed environment. The result is a rich client that doesn't have to roundtrip for data.

"The [Lotus] rich client platform is a browser on steroids," Wilson continued. "We have a truly unique approach doing this."

Lotus also contributed to the Eclipse Foundation's efforts by helping deliver the rich client capability within Eclipse. They helped change the runtime of Eclipse components to make the framework more rich client friendly, Wilson said.
-- Rita-Lyn Sanders, Eclipse News Senior News Editor

IBM的 alphaWorks 发布了Interoperability Tool for Eclipse and .NET WinForms

其功能介绍如下:

What is Interoperability Tool for Eclipse and .NET WinForms?

Interoperability Tool for Eclipse and .NET WinForms is a JavaTM tool that allows hosting of third-party WinForm controls in Eclipse, handling of .NET events, accessing of .NET properties, invoking of .NET methods, and instantiating of .NET objects. This tool can aid in moving to the Eclipse platform while making use of investments in .NET WinForms controls.

This tool allows the following:

  • hosting of WinForms controls in Eclipse
  • accessing of properties (getting and setting values) of WinForms controls and other common language runtime (CLR) objects from the Java side including properties of complex CLR types
  • addition and removal of event listeners
  • handling of WinForms controls events from the Java side, including standard events that even require handlers of EventHandler type and events that use specialized (that is, defined by the control developer) type for event arguments
  • full access to event arguments on the Java side
  • invocation of methods of WinForms controls and other CLR objects from the Java side, including methods that have many arguments and arguments of complex CLR types
  • invocation of static CLR methods from the Java side, including methods that have many arguments and arguments of complex types
  • construction of instances of CLR types from the Java side, including construction of objects that have many constructors, constructors with many arguments, and constructors with arguments of complex CLR types
  • accessing of CLR enumerations from the Java side -- both as values and as enumeration objects.

How does it work?

To host a WinForm control in Eclipse, use a Java helper class and simply specify the assembly that contains the definition of the WinForm control class (either using a strong assembly name or the path to the assembly) and the full control class name. No changes in the WinForm control are required in order to allow hosting in Eclipse.

When the control is hosted in Eclipse, Java helper classes and interfaces can be used in order to access properties of the hosted control and other .NET objects, to handle .NET events, to invoke .NET methods, to instantiate .NET objects, and so on -- all from the Java code running in Eclipse.

In this version, the .NET properties, methods, and events are accessed via string names, so it may be desirable to create wrappers for frequently accessed .NET objects in order to have strongly typed access.

Further information is available in the user manual (also included in the zip file).

【转载】使用 Eclipse 作为 Jakarta Tomcat 的开发环境
使用 Eclipse 作为 Jakarta Tomcat 的开发环境
英文原文
内容:
采用 Eclipse 和 Tomcat 的原因
下载组件
安装
配置
同时测试 Tomcat 和 Eclipse
结束语
参考资料
关于作者
对本文的评价
相关内容:
什么是 Eclipse? 它可以用来做什么?
Tomcat 的故事
一种快速集成 Eclipse 和 Tomcat 的方法

级别: 初级

Geoffrey R. Duck
软件开发人员, IBM
2004 年 6 月

Eclipse 是一种很好的 Java 开发环境。Eclipse Tomcat 插件可以帮助程序员更好地组织并集成 Java 与 Web 开发项目。本文将逐步介绍 Eclipse、 Jakarta Tomcat 以及一个 Eclipse Tomcat 启动插件(这个插件可以实现Eclipse 与 Tomcat的集成)安装过程。

采用 Eclipse 和 Tomcat 的原因
从很早以前,我就一直使用 Eclipse 进行开发工作,我发现对于自己的 Java 开发工作来说,Eclipse 是最好的工具之一。 我原来是一个具有 Linux 背景的 Java 程序员,只能使用 vi 和 JDK 进行编程,当时编写和调试 Java 程序是非常冗长乏味的任务。现在有了 Eclipse 的帮助,我很容易就可以快速搭建起基于 Java 的原型。然后我就考虑为什么不将 JSP 的开发环境也集成到 Eclipse 环境中呢?这样就可以更容易地编写 Java 代码和 JSP 代码了。本文的目的是节省 JSP 开发人员设置 Eclipse 与 Tomcat 一起工作环境的时间。

下载组件
在设置 Eclipse 与 Tomcat 一起工作的环境时,需要使用几个组件。这些组件如表 1 所示。

表 1. 本文中使用的组件及其版本号
组件 版本
Eclipse IDE 2.1.2
Sun Java SDK 1.4.1 1.4.1_06
Tomcat 5.0.16
Sysdeo 的 Eclipse Tomcat 启动插件 Sysdeo tomcat 插件 2.2.1

下载所需要的组件。在本文的 参考资料 一节中列出了可以下载这些文件的站点,这些站点在本文发表时都还可以访问。

Eclipse IDE: eclipse IDE 用作 JSP 页面和 Java 文件的开发环境。Eclipse 是一个非常简单易用的 IDE 环境,它具有很多特性,可以帮助程序员快速编写并调试 Java 程序。加上 tomcat 插件之后,这个 IDE 就是管理整个 Web 项目(包括 HTML 和 JSP 页面、图标和 servlet)的一个非常优秀的工具。

Sun SDK: Tomcat Eclipse 插件要正常工作所必需的一个 SDK。这个 SDK 未必一定是 Sun SDK,但是必须是一个 SDK,(不能是一个 JRE,因为这样不能正常工作)。为了让 Tomcat 能够与 Eclipse 一起正常工作,在 SDK 中必须有一个 Java 编译器。

Tomcat: 驱动 JSP 页面需要使用 Tomcat。Tomcat 引擎是非常好的一个 servlet 引擎,可以自由下载,而且非常容易安装。

Sysdeo 的 Eclipse Tomcat 启动插件: 这是用于 Jakarta Tomcat 的众多 Eclipse 插件之一。这是非常优秀的一个插件,它为我节省了很多时间,可以很好地集成 Web 项目与 Java 代码,我通常都是使用 Eclipse 来编写这些代码。

安装

将所有的组件解压
下载了所需要的组件之后,下一个步骤就是将每个文件解压。将这些文件解压缩并将其全部放到同一个目录中,这样就可以找到所有解压之后的文件。

将 Tomcat 插件拷贝到 Eclipse/plugins 目录中
在所有的文件全部被解开压缩之后,将 Tomcat 插件目录拷贝到 Eclipse 目录中的 plugins 子目录中。我从 Sysdeo 的 zip 文件中解压开的目录名是 com.sysdeo.eclipse.tomcat_2.2.1,将这整个目录都拷贝到 Eclipse/plugins 目录中。

安装 SDK
接下来安装刚才下载的 SDK。tomcat 的 Eclipse 插件要求在 Eclipse 工作空间中设置的 JRE 是一个具有 Java 编译器的真正 SDK。这是使用 Sysdeo Tomcat 插件的一个要求。在安装好 SDK 之后,就可以启动 Eclipse 工作台了。

Eclipse 缺省的 JRE 必须是来自于一个 SDK
Tomcat 插件要求 Eclipse 设置的缺省 JRE 是一个 SDK, 否则 Tomcat 插件就不能正常工作。

配置

将这个 SDK 的 JRE 设置为 Eclipse 缺省的 JRE
在启动 Eclipse之前,需要在工作台的 preferences 页中配置一些选项。选择 Window > Preferences,打开 preferences 对话框,如图 1 所示。

图 1. Eclipse 的 preferences 对话框
Eclipse 的 preferences 对话框

在左侧的树视图中选择 Java 选项。展开 Java 元素,并选择 Installed JRE,如图 2 所示。

图 2. JRE 的 preference 设置
JRE preference settings

单击 "Add" 并切换到在上面配置的安装阶段所安装的 JRE 目录,如图 3 所示。单击 "OK"。

图 3. 向 Eclipse 的 preference 设置添加一个 JRE
向 eclipse 的 preference 设置添加一个 JRE

选中刚才安装 SDK 时所添加的 JRE 边上的检查框,如图 4 所示。这样将 JRE 设置为 Eclipse 使用的缺省 JRE。只有正确设置了这个步骤,Tomcat 插件才能工作。Tomcat 插件要求在这些设置中选择的缺省 JRE 是一个 SDK。

图 4. 为 Eclipse 和 Tomcat 设置缺省的 JRE
为 Eclipse 和 Tomcat 设置缺省的 JRE

在 Tomcat 的 preferences 中设置 Tomcat 的 Home 变量
接下来设置 Tomcat 插件的 preferences。现在 Preferences 对话框仍然打开着,在左边的菜单中选择 "Tomcat", 如图 5 所示。

图 5. 设置 Tomcat 插件的 preferences
Tomcat 插件的 preferences 设置

在上面的单选按钮中选择 Tomcat 的版本。我使用的 Tomcat 的版本号为 5.0.16, 因此选择最后一个单选按钮 "Version 5.x"。

然后必须设置 Tomcat Home 变量。点击 "Tomcat Home" 对话框边上的 "Browse" 按钮,浏览刚才解压开的版本的 Tomcat 的根目录,然后点击 "OK" 按钮。配置文件会自动被选中,并在对话框中添上相应的内容。如果要想为 Tomcat 选择一个与此不同的配置文件, 现在就可以浏览这些文件。否则就正常使用缺省值。

现在我们已经实现了使用 Eclipse 和 Sysdeo Tomcat Launcher 插件来启动和运行 Tomcat 的最低要求。浏览以下 Eclipse 的 preference 对话框中对 Tomcat 的其他参数设置,注意在 Tomcat 的参数设置中还有很多其他选项可以使用。例如,可以为 Tomcat 服务器使用的 JVM 添加一个参数,从工作空间中选择 Java 项目添加到 Tomcat 的 classpath 中,以及进行一些设置从而允许 Tomcat 管理应用程序

同时测试 Tomcat 和 Eclipse

创建一个新 Tomcat 项目
要对 Tomcat 和 Eclipse 进行集成测试,可以从创建一个新项目入手。选择 File > New > Project,并检查新项目的向导内容。在这个项目向导的 Java 部分中有一个新项 "Tomcat Project"(见图 6)。选择这个选项,然后点击 Next。

图 6. 创建一个新 Tomcat 项目
创建一个新 tomcat 项目

为这个新的 Tomcat 项目取一个名字。例如 "TomcatProject", 如图 7 所示。点击 Next。

图 7. 设置 Tomcat 项目的名字
设置 Tomcat 项目的名字

现在我们已经看到可以为 Web 项目的 Context 指定名字,还可以指定一个子目录作为 Web 应用程序的根目录。现在我们保留缺省值不变(见图 8)。 点击 Finish。

图 8. 设置 Tomcat Web 应用程序的根目录
设置 Web 应用程序的根目录

现在在工作空间中创建了一个具有 WAR 结构的项目,如图9 所示。

图 9. 创建的 Tomcat 项目
创建的 Tomcat 项目

创建一个 JSP 文件进行测试
测试安装过程的最简单方法是在 WAR 项目的根文件夹中创建一个新文件。先创建一个新文件,此处称之为 "index.jsp"。要实现这种功能,请在工作空间中选择自己的项目,然后在其上点击鼠标右键。选择 New > File,将其命名为 "index.jsp",如图 10 所示,然后点击 Finish。

图 10. 创建 index.jsp 文件测试配置
创建 index.jsp 文件测试配置

将清单 1 中的内容添加到 index.jsp 文件中,并保存这个文件。

清单 1. index.jsp 文件样例
 <html> <body> <%java.util.Date d = new java.util.Date();%> Todays date is <%= d.getDate()%> and this jsp page worked! </body> </html> 

使用 Sysdeo 插件启动 Tomcat
现在伟大的时刻到来了。要启动 Tomcat 服务器,只需简单的点击工具条中的 Start Tomcat 按钮即可,如图 11 所示。也可以先在主菜单中选择 Tomcat 菜单,然后再选择“Start Tomcat”。

图 11.使用 Sysdeo 插件启动 Tomcat 服务器
使用 Sysdeo 插件启动 Tomcat服务器

Tomcat 服务器现在就会启动,在 Eclipse 工作台的 Console 视图中会显示启动时的文字,如图 12 所示。检查启动日志,并注意是否有错误发生。

图 12. 在 Eclipse 的 Console 视图中显示的 Tomcat 的启动信息
在 Eclipse 的 Console 视图中查看 Tomcat 的启动信息

启动浏览器并查看 index.jsp 文件
当服务器已经启动之后,再启动一个 Web 浏览器。转到 URL http://localhost:8080/TomcatProject。此时会装入一个页面,您应该会看到类似于下面的一条消息:

Todays date is 30 and this jsp page worked! (我的屏幕上显示的日期是 30,因为今天就是 30 号。)

结束语
现在您应该已经正确设置了 Eclipse,并对其进行了配置,使其可以与 Jakarta Tomcat 一起工作。现在就可以快速开发并对 JSP 和 Java 代码快速进行集成测试了,这个优秀的程序可以提高我们的生产率。使用 Eclipse 来编写 Java 代码并将其与 Jakarta Tomcat 进行集成,这样可以使 JSP 的开发变得更有趣,也更容易。

参考资料

关于作者
Geoff Duck 是 IBM Canada Ltd 的一名软件开发人员,他在位于加拿大 BC Burnaby 的 IBM 中心从事电子商务创新方面的研究。Geoff 专注于 Java 编程与设计,以及基于 Web 方面的应用程序开发工作。
【网站】The Open Source Development Environment for .NET
    摘要:#develop (short for SharpDevelop) is a free IDE for C# and VB.NET projects on Microsoft's .NET platform    (全文共1013字)——点击此处阅读全文
【转载】Eclipsing .NET
    摘要:使用 Eclipse IDE 来开发C#    (全文共27920字)——点击此处阅读全文
【转载】Inside Eclipse 3.0

Inside Eclipse 3.0

by Paul Conte

Eclipse is an open-source application platform that has gained considerable industry and Java developer support over the past two years. The impending 3.0 release of Eclipse promises to deepen and broaden that support. Java developers will find extensive new IDE functionality, improved performance in several areas, and some controversial user interface changes.

The biggest news with release 3.0, however, is the restructuring of Eclipse to support many more types of applications than just IDEs and other software development tools. The redesign also includes new plug-in capabilities and better scalability that both tool and other application suppliers can exploit. In this article, I provide a quick look inside release 3.0. (Note that this information is current as of the M8 milestone, which was available in March.)

A Quick Recap

Before exploring release 3.0, it will help to recap the previous Eclipse structure. Figure 1 depicts a simplified view of major Eclipse elements in release 2.x. The Eclipse runtime starts and runs the basic platform, including loading and managing plug-ins. Standard Widget Toolkit (SWT) and JFace provide widgets and other classes to support a graphical user interface. The Workbench provides the familiar window-structured user interface with menus, toolbars, and other associated capabilities. Standard Components includes reusable editors and views that Java Development Tools (JDT) and other plug-ins can use. The Workspace manages resources, most importantly, access to the underlying file system. The variety of other platform components (e.g., Help, Search) provide capabilities that JDT and other tools can exploit. All the items just mentioned are known collectively as the Eclipse Platform.

On top of the platform are a variety of tools. JDT, of course, provides a Java IDE. Plug-in Development Environment (PDE) provides a specialized IDE for creating Eclipse plug-ins. Other tools include plug-ins for C/C++ development (CDT), UML modeling (UML2), and many other tasks. (For a more detailed look at the Eclipse architecture, see "Inside Eclipse and the WebSphere Studio Family" listed in "Where to Learn More," below.)

More Tools for Java Developers

Eclipse first gained popularity as a free and very cool Java IDE. As an open-source project, it's still free, of course; and release 3.0 adds more than just chrome. There are far too many enhancements to cover here, so I'll list just a few. Keep in mind that several changes to the user interface and other non-IDE-specific aspects of Eclipse, which I cover in later sections, also apply to the Java IDE.

  • Preliminary support for JDK 1.5 (only some items are supported in 3.0)
  • Enhanced Java refactorings, including handling references in Javadoc, context-sensitive Refactor submenu, generalizing the type in a declaration, and creating a factory from a constructor
  • Additional options for code generation and style checking, including flagging Javadoc problems
  • Additional template support, including new Java templates and support for Ant
  • A new code formatter with more than 140 formatting options and that also formats Javadoc
  • Expanded key bindings, including cut/copy/paste/select all in dialog fields
  • Expanded Quick Assists, including adding an "if" block, assigning a parameter to a new field, and commenting a block of code
  • Expanded Quick Fixes, including for build path problems and mismatched parameters
  • Improved search that allows regular expressions and finds Java references in Javadoc and JSPs; searches can be run in background, and search results can be grouped by project, package, file, or type
  • New ability to define libraries as lists of JAR files and then use a library name(s) in build path
  • Selection from list of installed JREs when running a Java program
  • Editing files outside the workspace
  • More Ant support, including code assist and error display in Problem view
  • Selection from list of workspaces during startup
  • Workspace auto-refresh when files are modified by external tools
  • Most CVS operations run in background
  • Expanded extensibility, which allows plug-ins to contribute Quick Fixes and Assists and to participate in or contribute refactorings

Eclipse's Java support was strong from the beginning and just gets better in 3.0. See "Where to Learn More" for a link to complete release information for Eclipse 3.0.

More Than Just a Java IDE

Although Eclipse is written in Java, and JDT is one of the most popular and actively supported subprojects, Eclipse has always officially been "language neutral." Despite this design philosophy, however, release 1.0 clearly had first-class Java support as a primary goal, and no other language received near the attention.

In release 2.0, the Eclipse platform and JDT were refactored to move much of the basic IDE support from JDT to the platform, letting toolsmiths for other languages exploit a wealth of prebuilt features. That helped foster a thriving C/C++ Development Tools (CDT) subproject and a Cobol IDE subproject as well. Contributors have also produced plug-ins for Perl, C#, Python, and a number of other languages.

Since many, if not most, developers in the open-source community use C++ and other non-Java languages, the restructuring of Eclipse 2.0 generated substantial interest in Eclipse as a tools platform for that community. Eclipse's breadth of language support is one of its important competitive advantages against Sun's Java-centric NetBeans tools platform and Microsoft's Visual Studio products, which are limited to C++ and Microsoft's proprietary programming languages C#, J#, and VB.NET.

Rich Client Platform

With release 3.0, Eclipse has been restructured again, but this time in an even more dramatic way. The goal is to broaden Eclipse from a tools platform to an application platform. Among the changes, IDE-oriented and other nonessential user interface features are now grouped in their own optional plug-ins, leaving the Workbench as a "generic" user interface that can support a wide variety of application types.

Non-IDE applications can use a simpler, more compact version of Eclipse, known as the Rich Client Platform (RCP) that includes the generic Workbench, but not features the application doesn't need. Note that even the minimal RCP configuration supports the full Eclipse plug-in architecture. RCP-based applications can still benefit from Eclipse's wealth of capabilities and can optionally choose to include Eclipse plug-ins that support the Workspace (resource management), Text, Help, Search, and other features. In fact, as Figure 2 shows, Eclipse's IDE support is built on RCP just like non-IDE applications.

Figure 3 shows AlterPoint's Integrated Network Environment, an Eclipse-based, non-IDE application that's used for managing network device configuration. As this example illustrates, an RCP-based application can use views, editors, pop-up menus, and any other Eclipse capability. The important thing is that an RCP application isn't required to look like an IDE or install unnecessary platform plug-ins.

Numerous application vendors have expressed interest in RCP. RCP enthusiasts are hopeful that RCP will at last make "desktop Java" a practical alternative. Among the enthusiasts, IBM is making a major commitment by building its Lotus Workplace Client on top of RCP.

Platform Improvements

In addition to the restructuring just described, several other changes are part of RCP. Starting at the lowest level, the Eclipse runtime is now based on the Open Services Gateway initiative (OSGi) standard component framework. Among other things, OSGi specifies how components (e.g., Eclipse plug-ins) should be registered with an application (e.g., Eclipse) for dynamic loading and unloading.

Dynamic plug-ins let Eclipse 3.0 applications add or remove features on the fly, without restarting the Eclipse runtime. This avoids the need to have all possible plug-ins for an application initialized and exposed at startup, an important option for IDEs and other applications that may have lots of available, but infrequently used, plug-ins. (Previous releases of Eclipse didn't actually load executable code for a plug-in until it was first referenced, but Eclipse startup processing still processed all configured plug-in's manifests.) Dynamic plug-ins also facilitate plug-in subscription services that provide automated updates.

Previous versions of Eclipse have supported the concept of application plug-ins that control runtime execution. Release 3.0 expands this concept by allowing an application plug-in to include a WorkbenchAdvisor class that implements methods called by the Eclipse Workbench. This enhancement is mainly to let non-IDE applications have more control over the Workbench user interface, including whether the user interface (i.e., Workbench window) has title, menu, tool, and shortcut bar(s), what menu and toolbar items (if any) are displayed, and so on.

With the rapidly growing number of plug-ins available for Eclipse, the menus, toolbars, Help indexes, and other interface elements can get cluttered with scores of items that are never used. Release 3.0 introduces the concept of activities. Plug-ins can define named activities that users can enable or disable (Figure 4). Only those menu and toolbar items for enabled activities are displayed, as Figures 5A and 5B show.

Another Eclipse 3.0 improvement is increased concurrency of operations. For example, searches can now execute in the background while the user performs other operations. These changes make the Java IDE and (potentially) other applications appear more responsive. To enable wider use of background processing, the 3.0 runtime includes a new job manager and APIs that other plug-ins can call. Plug-ins can queue and monitor job progress as the job manager controls multiple jobs running in a thread pool.

New User Interface

Prerelease milestones for the Eclipse 3.0 Workbench displayed a substantial number of changes to the user interface, including new visual designs (e.g., rounded tabs), repositioned elements (e.g., perspective shortcuts), new ways to navigate (e.g., multiple tab drop-down), and others. There was significant negative reaction when the new user interface was introduced primarily because its look and feel was too different from native user interfaces. Vendors working on RCP-based (non-IDE) applications were especially adamant about the need for a native-looking user interface. In later milestones, many of the user interface changes were either backed out of the Workbench or made optional.

Another important addition to Eclipse 3.0 is a Swing-to-SWT bridge that allows contributors, including vendors who want to deliver RCP-based products, to use plug-ins with Swing components. This is of particular value to vendors who already have a large investment in products that use Swing. The Eclipse platform project team says the Windows version of Swing support will be "production" level in release 3.0, with the Linux version being somewhat less robust initially.

Assessing RCP

RCP has the potential for widespread adoption as the standard platform for Java client or standalone desktop applications. As an application platform, it's important to understand that RCP falls somewhere between the Java Runtime Environment (JRE) and an operating system such as Windows. The initial value of RCP is that it provides a tremendous amount of functionality (e.g., a rich, native-looking GUI framework, text support, integrated help, internationalization and localization) that doesn't come with JRE and for which there is no other widely adopted, multiplatform product or open-source solution. Furthermore, RCP has an exceptional design to support extensibility.

But it's not yet clear whether the Eclipse plug-in framework and application programming conventions will ultimately lead to extensive interoperability among a variety of non-IDE applications running on a user's desktop. Listening to different Eclipse board members and vendors interested in RCP, you hear divergent opinions on whether RCP should remain relatively simple, small, and therefore be replicated in every RCP-based application, or whether RCP should be thought of more the way software development tool vendors think about Eclipse as a whole - a single instance on which many tools or applications run cooperatively.

To fulfill its promise, RCP will also need to incorporate support for a flexible security model, as well as enhancements to support dynamic, centralized configuration and management.

At this point, the level of excitement that RCP has already generated bodes well for future efforts. The outcome depends largely on the continuing willingness of competing vendors to agree to work together on Eclipse as a common, shared application platform.

Migration from Release 2.x

From an Eclipse user standpoint (e.g., a Java developer), there is little to be concerned with in moving to release 3.0, other than the stability of plug-ins. Projects created with Eclipse 2.x can be opened with Eclipse 3.0 and subsequently saved in the 3.0 workspace format.

The situation isn't so simple for plug-in contributors, who should review the Eclipse 3.0 Porting Guide to learn which changes are recommended or required for 2.x plug-ins to work with Eclipse 3.0. In most cases, Eclipse 3.0 provides binary compatibility with release 2.x by leaving API implementations unchanged, by adding "compatibility" layers to route old API calls to new APIs, or by other mechanisms such as special handling of outdated extension point IDs in plug-in manifests. PDE 3.0 also includes a wizard to convert 2.x plug-in manifests to conform to 3.0 specifications. Upgrading plug-ins to 3.0 can be aided by a new launcher for JUnit tests that supports debug tracing and other capabilities.

Eclipse has survived its infant stage and appears to be entering its youth with vigor. Java programmers, and increasingly programmers in other languages, have a lot to savor with the latest release. My crystal ball says Eclipse has a bright future as a tools platform, and it's Sun who should be worrying about whether its NetBeans Java development platform will wither.

The picture isn't so clear when Eclipse is considered as an application platform. RCP is a very good and necessary start, but many hurdles remain. A lot rides on Eclipse because nothing else on the horizon appears to offer any reasonable alternative as a Java (or for that matter any non-Windows) desktop/client application platform. That alone provides a lot of motivation for vendors and open-source participants to help Eclipse thrive.

Paul Conte is a senior technical editor for e-ProMag.com, iSeries NEWS, and eclipse news. He is president of PCES, an educational and consulting practice in Eugene, Oregon. You can e-mail Paul at pconte@e-promag.com.


Where to Learn More

【转载】Eclipse readies 'rich client' software

Eclipse readies 'rich client' software


By Martin LaMonica
Staff Writer, CNET News.com
http://news.com.com/2100-7344-5242038.html

Story last modified June 21, 2004, 9:00 AM PDT


 

The Eclipse open-source software foundation next week plans to release software that will offer developers an alternative to Windows for delivering desktop applications.

Eclipse 3.0, which is freely available software aimed at Java programmers, includes tools for building and running so-called rich-client applications, which have more sophisticated graphics capabilities than standard Web browser-based applications.

The Eclipse software, which was originally developed by IBM, also provides a single "framework" that different development tools can plug into.

Using Eclipse, a programmer can combine several tools--such as those for testing, managing source code and modeling--all within a single application.

IBM spun off Eclipse in February. The group, now an independent open-source foundation, named an executive director, Mike Milinkovich, in May. The popularity of the Eclipse software has grown rapidly, catching on with independent software providers who write Eclipse plug-ins and with independent Java programmers.

The Eclipse 3.0 update includes enhancements to improve developer productivity and changes to accommodate two different methods for building user interfaces with Java. Tools written to conform with the user interface "widget" toolkit, called Swing, can plug into the Eclipse software, which uses the SWT (standards widget toolkit), Milinkovich said.

The new features are aimed squarely at programmers, but the implications of the rich-client capabilities in the Eclipse software have broader implications, according to analysts. Eclipse is designed to let businesses build or acquire graphics-rich applications that run on different operating systems.

Having more desktop application choices could ultimately pose a threat to Microsoft's dominance in desktop applications, said Stephen O'Grady, an analyst at RedMonk.

"Eclipse is a central point of control, presentation and (application) delivery that abstracts out some of the operating-system intricacies...and makes the longer-term question of the operating system less important," O'Grady said.

IBM recently announced a Workplace initiative that uses the Eclipse client software to run different desktop productivity applications, such as a spreadsheet and messaging, on multiple operating systems, such as Linux, Windows and Macintosh. If other independent software vendors start to use the Eclipse client "platform," corporate customers will have greater flexibility in choosing their desktop operating system, O'Grady said.

So far, few application providers have written their software to work with the Eclipse client, though.

Typically, big companies that want to deploy an application to run on multiple desktop operating systems will use Web portal software, which delivers back-end information through a Web browser. Those Web front ends have their limitations, though.

"The Web is archaic--it's 10 years old. The needs of people are not being met by mere HTML applications," said Java programmer Rick Ross, founder of Javalobby, a Java developer community. "(Eclipse) is saying that the software is bigger than just an IDE (integrated development environment)."

The Eclipse foundation houses a number of development-related open-source initiatives not related to Java, including projects built around the C and C++ programming languages. Another Eclipse initiative for managing the different phases of the application-development process called Hyades will release an update in tandem with Eclipse 3.0.

第1页,共1页