Introduction to RCP

According to Wikipedia, A Rich Client Platform is a software which combines many sub-softwares together. It is a platform which you can build new software on top of it. Instead of having to write a complete application from scratch. Building on existing platform means you will get many advantages, like:
  • Faster application development cycle and more integration.
  • Remove complexity and non-stander links between components.
  • Focus on business value-add.
  • Spend less time on testing face.
  • Combine existing modules with new application ( Help UI, Update Manager, Cheat Sheets, Intro,....etc).
Unfortunately, there are few implementation for this architecture and almost all of theme is written by using Java programming language. the most popular one is Eclipse Platfrom, which provides a very rich platform for end developers. anther example is Netbeans Platform, the opensource platform is a generic framework for Swing applications. The last not least is Spring Framework RCPs.

I believe many corporations like Microsoft already using this strategy with there nonpublic RCP. An example of that is MS Office applications, which are possibly built on top of the office platform.

What is the Difference between NetBeans Platform and Eclipse RCP?

The NetBeans Platform and Eclipse RCP are more similar than they are different. Both provide a framework for desktop application developers. In both cases, a large number of features are provided out of the box, from a docking framework, to an action system, to update facilities. However, there are some very significant differences that you need to be aware of when choosing between them:

  • UI Toolkit. When you use the NetBeans Platform, you will be programming with the official standard UI toolkit, which is Swing. Eclipse RCP, on the other hand, makes use of SWT instead. There are many advantages in using Swing instead of SWT. For example, there are thousands of 3rd party libraries available in Swing, which means that they are very easy to integrate into NetBeans Platform applications. SWT does not have that kind of wideranging support and therefore you will have far less 3rd party libraries to choose from. An example is in the area of UI testing: while Swing has Jemmy and similar tools, there are no great equivalents for SWT. In addition, SWT requires that native libraries be included with the end product, for each platform to which you deploy.

    Thanks to Swing's look & feel support, you can completely customize the appearance of your application, so that it is totally unique and doesn't resemble any other application on the NetBeans Platform.

  • Build system. A feature specific to the NetBeans Platform is the fact that its build system is based on Ant. Ant is a standard, non-vendor specific build tool. As a result, you are not locked into NetBeans IDE but can, instead, use the command line to build your NetBeans Platform applications. In fact, you can build NetBeans Platform applications out of the box with Ant, and also fairly easily with Maven.
  • Module system. Eclipse RCP makes use of the de facto standard module system, which is OSGi. The NetBeans Platform, on the other hand, uses the standard Java approach to modularity, relying on an extension to the JDK 6 ServiceLoader class for intermodular communication. At the same time, work is in progress for supporting OSGi as well, as can be read here.
  • UI Design. The award winning Matisse GUI Builder is a standard part of NetBeans IDE. You can use it when prototyping and designing your applications on top of the NetBeans Platform. Its drag-and-drop capabilities and point-and-click features make this an ideal environment for UI design. Many NetBeans Platform users have cited this feature, together with the support for Swing, as their main reasons for choosing the NetBeans Platform. Eclipse RCP has a similar tool, based on the Matisse GUI Builder, although it is not free.
  • NetBeans Platform in the JDK. Since JDK 6 Update 7, the JARs that make up the NetBeans Platform are part of the JDK. The JARs need to be there because Java VisualVM, the new JDK tool, is created on top of the NetBeans Platform. When building your application on top of the NetBeans Platform, this fact can be useful, both for development and delivery purposes.
  • Free Training. The NetBeans team offers free NetBeans Platform trainings to universities, colleges, and schools, as well as non-commercial institutions in general. (Write to users@edu.netbeans.org if you are interested.) A customized version of this course is available to companies, at a standard price via Sun Learning Services. Eclipse RCP does not offer free trainings of this kind.

Further Reading

0 comments:

Post a Comment