Well my earlier post was about NetBeans IDE and now in this post I will explain the NetBeans Platform and the difference between the Platform and IDE
The NetBeans Platform is a reusable framework for simplifying the development of Java Swing desktop applications. The NetBeans IDE bundle for Java SE contains what is needed to start developing NetBeans plugins and NetBeans Platform based applications; no additional SDK is required.
Applications can install modules dynamically. Any application can include the Update Center module to allow users of the application to download digitally-signed upgrades and new features directly into the running application. Reinstalling an upgrade or a new release does not force users to download the entire application again.
The platform offers reusable services common to desktop applications, allowing developers to focus on the logic specific to their application. Among the features of the platform are:
- User interface management (e.g. menus and toolbars)
- User settings management
- Storage management (saving and loading any kind of data)
- Window management
- Wizard framework (supports step-by-step dialogs)
- NetBeans Visual Library
Now lets move onto the other topic that i I want to cover in this post and that is Rich Client Platform Development
In a client server architecture the term “rich client” is used for clients where the data processing occurs mainly on the client side. The client also provides the graphical user interface. Often rich clients are applications that are extendable via plugins and modules. In this way, rich clients are able to solve more than one problem.
Rich clients have the advantage that they are easy to distribute and update, such as via an automatic online update function within the client itself or through a mechanism that enables the rich client to start over the Internet (for example, via Java Web Start).
The important characterstics of the rich client are:
• Flexible and modular application architecture
• Platform independence
• Adaptability to the end user
• Ability to work online as well as offline
• Simplified distribution to the end user
• Simplified updating of the client
Rich Client Platform
A Rich Client Platform (RCP) is software consisting of the following components:
- A core (microkernel), lifecycle manager
- A standard bundling framework
- A portable widget toolkit
- File buffers, text handling, text editors
- A workbench (views, editors, perspectives, wizards)
- Data binding
- Update manager
With it, programmers can build their own applications on existing platforms. Instead of having to write a complete application from scratch, they can benefit from proven and tested features of the framework provided by the platform. Building on a platform facilitates faster application development and integration, while the cross-platform burden is taken on by the platform developers.
Their creators claim that programs built with RCP platforms are portable to many operating systems while being as rich as client-server applications which use so called fat clients or traditional clients.