The Rich Ajax Platform (RAP) is an Eclipseopen source platform for developing desktop and web applications based on a unified code base. The communication with the server is done by using the web technology Ajax. RAP is based on the Rich Client Platform (RCP) model - a framework for developing plug-in based applications. The important aspect of the development of RAP is the uniform code base, which is also referred to as single sourcing. Currently, version 1.2 is available for download at the link below. In addition, numerous examples are available that demonstrate the use of RAP.
Since the implementation of RAP is based on the Javaprogramming language and the runtime environment is therefore the Java Virtual Machine (JVM), RAP supports important target platforms such as Windows, Linux, and MacOS X. Alternative possibilities for the development of web applications are the Google Web Toolkit (GWT) as well as the numerous freely available frameworks, which, however, do not necessarily support single sourcing. RAP was developed by the company Innopract and is part of the so-called Galileo Release Train, a project of the Eclipse Foundation to offer users of RAP a release that is aligned with the other participating Eclipse projects.
Like the Rich Client Platform (RCP), the Rich Ajax Platform is based on plug-ins, i.e. software modules that can be combined with other modules in a manner similar to a construction kit and that also communicate with these modules via predefined interfaces. For this purpose, RAP offers the application development interfaces known from the rich client platform - the component model (Equinox) based on the OSGi specification, extension points, JFace, the system library and the UI workbench, which forms the framework for the application with perspectives, views, actions and editors.
Plug-ins for the various programming interfacesThe real difference to RAP is the plug-in Rich Widget Toolkit (RWT), a replica of the Standard Widget Toolkit (SWT) used in RCP. RWT offers the same Application Programming Interface (API) as SWT, but the widgets are now only displayed in the browser. The elements known from SWT, such as menus with submenus, tabs, views, icons and much more, can be used in the graphical interface of the web application without any problems, so that it clearly resembles the interface of an RCP application. Just as with an RCP application, the entire workbench can be moved or the views can be resized. The dialog windows open when a button is pressed or it is possible to switch between the perspectives as in the RCP applications. It must be added, however, that not all widgets of the SWT also have corresponding HTML widgets for interaction with the web browser.
By using the Rich Ajax Platform (RAP), the programming models for both desktop and Web applications should no longer differ, so that, in addition, no effort is required for the singular development of Ajax programs, for example. In addition, both applications should be based on the same Java code structure - this is also referred to as single sourcing. In order to narrow the gap between desktop and web, single sourcing will be an important aspect of future developments.
For the software developer, the first advantages of using RAP are as follows:
- The concepts of RCP are transferred to web applications.
- RAP is open and extensible as open source software.
- RAP development is supported by the Eclipse IDE.
- Clear focus on Java, special knowledge of web technologies like HTML, Java or Ajax are helpful but not absolutely necessary.