Java‎ > ‎

RCP

In previous Java tutorials, we learned how to create Console and GUI applications.
Most likely we will once need to create a more complex Java application, e.g. something like Arduino IDE. We could surely extend and modify our text editor by adding functionality for Arduino code compilation and upload, syntax highlighting, auto-completion, tabs with multiple open files, maybe consider support of multiple languages...

OK, but it sounds like reinventing the wheel. Many programmers had to create some sort of skeleton for such applications. Could we possibly reuse their work and save our precious time? Yes, we can do it.  And here emerges RCP.

RCP stands for Rich Client Platform. It is an application skeleton or scaffolding comprised of libraries and development tools made by experts. Its aim is to make development of complex Java applications easier and well organized.

There are two such platforms which are free to use. First is the Eclipse RCP made by the people around Eclipse IDE and IBM. The second RCP is the NetBeans platform maintained by developers around NetBeans IDE and Oracle. Experts working on NetBeans and Eclipse IDEs enabled other developers to build upon their code foundations. In both platforms, applications as complex as NetBeans or Eclipse IDE can be created. 

Which platform is better? It is hard to say, but for me personally Eclipse RCP wins. Why? Read NetBeans platform vs. Eclipse RCP.
Next, we will provide few arguments why (not) to use RCP

Why to use RCP
  • created by experts
  • save lot of work/coding
  • good application structure
  • modular design
  • easy collaboration
  • reuse functionality from the platform
  • application looks familiar to users

Why not to use RCP

  • very hard to learn
  • poor documentation
  • direct coding is faster
  • all team members must know RCP
  • non-original design
  • overkill resulting in huge and slow apps
If you still think that RCP is for you, have a look at our tutorials about RCP 4 or check other resources.

Tutorials

Other Resources


Written 4/7/2014