One of the largest struggles in the software development is creating applications that work in a rich way in both a fat client and in a browser based client (thin client). Now that Lotus Notes is based on the Eclipse platform you can start to look at things like RAP (Rich Ajax Platform) and JavaFX for these kinds of solutions.
I found a presentation that was given at a webinar by Jochen Krause that shows how you can use RAP and regular Eclipse based development to achieve this. While it does say that 90% of the RCP code can be re-used there are obviously 10% of gaps that need to be addressed. I think overall this is an interesting technique and if you mix the concepts with technologies like JavaFX you start to get a solution that is closer to 100% re-use.
Application vendors are increasingly required to provide both desktop and web clients for their customers. But desktop and web applications are based on very different technologies which generally demand different programming paradigms and skills that make it impossible to reuse code. Specialized development skills and implementing the same functionality more than once increases the cost of production without in fact, adding new value to the application.
The Rich Ajax Platform (RAP) was designed to tackle exactly these problems for the Eclipse world. RAP allows Java and Eclipse developers to reuse their existing skills through a Java-based development model for web-clients. Furthermore, RAP maximizes code reuse by including the largest-possible web-enabled subset of the Rich Client Platform (Eclipse’s technology on the desktop).
Here is the deck that was presented at that webinar.