Wouldn’t it be nice if you could write your application once and then reuse the code in both a) a “fat client” for high interactivity and offline usage, and b) a “thin client” inside a web browser for ubiquitous access with zero install? The Eclipse Rich Ajax Platform (RAP) library provides one way to do just that.
Ed Burnette
The RAP project is an eclipse.org project invented and conducted by Innoopract. RAP employs an architecture and usage similar the Rich Client Platform (RCP) and offers developers the opportunity to web-enable their RCP-Applications and enhance them with AJAX technology.
RAP is very similar to Eclipse RCP, but instead of being executed on a desktop computer RAP is run on a server and clients can access the application with standard browsers. This is mainly achieved by providing a special implementation of SWT (a subset of SWT API).
Ajax-integration with no extra effort.
RAP allows developers to develop new Applications or enhance existing RCP-Applications with an AJAX web UI in a straightforward way because it relies on the same underlying Eclipse-technology as RCP. AJAX is provided implicitly from RAP’s library of Java™ technology components. This allows development of dynamic user interfaces with no extra effort.
Quick learning curve for Eclipse developers.
RAP uses the Eclipse development model, the plug-in system, the Eclipse workbench concept and the Java-only API, but can also be used independently of RCP. Therefore, developers with Eclipse experience and especially with RCP experience will get up to speed with the RAP methodology immediately.
Re-usability of RCP-development tools
Due to the similarity of both platforms, all RCP-development tools can easily be reused with RAP. During a migration phase the user interfaces of existing RCP-applications needs to be adapted to RAP, but the application core, the content- and label-provider as well as multi-user core plug-ins can remain in use unchanged.
Development and testing against different browsers: a thing of the past
RAP has a scalable rendering model solving the ever-annoying problem of browser dependency. Through the usage of specialized rendering kits, the application automatically and transparently aligns to the particularities and the security settings of each specific browser. The functionality of the application does not change and the user comfort adapts to the configuration of the browser.