Some time ago, I've discovered an Eclipse project which sounds interesting to me. This project aims at providing an AJAX runtime target for Eclipse RCP applications. I didn't have more time but to play a little with the public demos. Thus I still wondered what is the gap for an Eclipse RCP applications developper before starting to create a RAP application.

Today I had some time to have a look at the sources of a RAP application project. There is quite nothing more to do if you are already programming Eclipse RCP applications as the differences are:

  • Adding the org.eclipse.rap.ui plugin to the dependencies.
  • Importing the javax.servlet and javax.servlet.http packages
  • Add an org.eclipse.rap.ui.entrypoint extension to define the RAP application entry point

To internationalization of a RAP application works also differently from the standard Eclipse internationalization. This is described in the RAP on-line help: internationalizing a RAP application shouldn't be a huge problem.

A RAP application can even be packaged in a WAR file as any other web application. There is no wizard to perform this, but a sample Eclipse feature projects with Ant build scripts are available on the Eclipse CVS. There is also generic Equinox documentation on that topic at http://www.eclipse.org/equinox/server/http_in_container.php.

Thus creating a standard Web application by using the JFace and SWT APIs is quite easy. When combined with Spring-OSGi, let us imagine creating powerful and sexy Web applications.

The only thing I still would like to see before being a RAP fan is a benchmark of an application used by hundreds or thousands of users. Does it make a difference with toolkits like GWT or YUI? Can I use RAP for business applications used every day by a whole company?