Rich Client Platform (RCP) Why ?
November 21st, 2007 | by Tonny Kohar |Last week, when I read the Netbeans users mailing list, there was interesting questions “Rich Client Platform (RCP) Why ?
…
the question is why have this at all, whats wrong with Java. Where does Swing end and NB RPC start?
…
I’m looking for an article that compares Java Swing to NB RPC.
I want to know whats different exactly and compare that to Java plus Libraries.
…
First, it is important to diffentiate between RCP and Java plus Libraries. For me Rich Client Platform (RCP) is a set of libraries with tight integration, it is build from ground up to work together as a platform so other application can be build or run on top of it. In contrast, Java plus libraries is a mix and match of libraries to support the application eg: give new features, etc
One main problem with the mix and match style is because that libraries may not be designed to work together, they could be excellent library on its own, but once they integrated together to form a single system (an application), sometimes it may require some glue or bridge code to make them work together. On the other hands for RCP, these set of libraries will work together since it is designed that ways from beginning.
RCP as base framework or platform
During the development of our products Sketsa SVG Editor and Citra FX Photo Effects, I learn important lesson regarding RCP. The keyword here is framework or platofrm, this framework nature will act as the defining boundary for the application. However, worries not, any good and generic RCP like Netbeans RCP Platform will not limit your application, instead it will give you more benefits by well tested, work together, and solid foundation to base your application.
Because of this nature, it is important to keep in mind, that the application should be build on top of the RCP framework rather than the application build the same level as the RCP. Otherwise the application will leave that boundary and start fighting with the RCP regarding the base architecture, and begin to lose the benefits provided by the RCP, which could lead to some hack ish code style to achive the result.
If the RCP boundary is limiting your application, it could be either the RCP is not generic enough or you are using the RCP in the wrong way or that particular RCP is not suitable for your project (try different RCP)
RCP benefits
Any good RCP Platform eg: Netbeans RCP Platform will automatically provide you with these benefits out of the box:
– work together
– well tested
– solid foundation to base your application
– *may already have plugin support
– *may already have info bus or messaging infrastructure
– *may already have service discovery and provider
– *may already have integrated help system
– *may already have integrated log system
– etc
No Flame War, Please
This blog entries is not about Swing vs Nb RCP vs Eclipse RCP, etc, but it is more towards RCP as framework or platform for your application.
So enjoy writing your RCP base application.
Tags: Java, Netbeans Platform
One Response to “Rich Client Platform (RCP) Why ?”
By Tom Wheeler on Nov 22, 2007 | Reply
Very nicely done! You did a great job of quickly explaining where the platform fits in and why Java developers should consider using it.