"The Rich AJAX Platform [RAP] project is bringing RCP-style plug-in development to the AJAX world. RAP users will be able to develop browser-deployed AJAX applications in Java, using the Eclipse plug-in architecture, and deploy them to existing Java EE enterprise architectures. For a lot of developers, this is going to be a very attractive solution."
Mike Milinkovich, Executive Director of the Eclipse Foundation
The RAP DevZone aims to provide Eclipse developers a range of resources to learn more about RAP. Although some of this information is available on the RAP project page, these pages will also provide up-to-date announcements, tips and links pooled from the RAP user and developer community.
As an example, check out this introduction to RAP and setup tutorial on IBM's Developer Works website.
What is the goal of RAP?
It is about enabling programmers to develop powerful, AJAX Web applications "the eclipse way" - using the plug-in mechanism, a java widget toolkit and workbench services. Without having to actually hand-code AJAX.
Where does RAP play?
RAP addresses the same kind of applications that RCP addresses, and complements RCP technology with respect to serving as a thin client for distributed applications. RAP is targeted to enterprise applications and can be employed independently of RCP.
How does RAP compare to RCP?
RCP | RAP | |
Plugin Model | OSGi | OSGi on the server (inside a webapp) |
Widget Toolkit | SWT | WWW Widget Toolkit (W4T) |
Model View Controller | JFace | JFace (adapted, as standard JFace has references to SWT) |
UI Framework | Workbench | Web Workbench |
Does RAP enable my RCP applications to run on the Web without any changes? The project aims to enable as much reuse of RCP application components as possible. However, for the first release of RAP a part of the UI of existing RCP applications needs to be rewritten (which means that core plug-ins can be reused, as long as they are multi-user capable). It will be possible to reuse Content and Labelproviders.
How are RAP and ATF related?
RAP is a project focusing on an AJAX web runtime, Ajax Toolkit Framework (ATF http://eclipse.org/proposals/atf) focuses on tools to write applications for AJAX runtimes. ATP can be used to build components (widgets) for RAP, as RAP is encapsulating HTML, CSS and JavaScript into java components.
Why don't you use JSF as component framework?
Because it is not possible - yet. JSF does currently not offer a generic support for AJAX, and although it is possible to use JSF with Java components only, there is no implementation available right now.
We believe that the core achievement of JSF is its Lifecycle handling. W4T lifecycle handling is very closely aligned with the JSF lifecycle handling, and it will be possible to move to JSF in the future.
Can RAP be extended?
Eclipse is about "extensible platforms and exemplary tools" - and we take that seriously. The widget library can be extended with more widgets, much the same way as SWT requires knowledge of the "native" (meaning AJAX) technologies. As the Web Workbench will be built on the plug-in model, it is extensible by design.