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
andjavax.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?