The Best Kept Secret : NetBeans' Successful (Rich Client) Platform - UPDATED
posted Monday, 12 September 2005
|
[ Updated!
- the light pink regions are new updates
]
NetBeans, has and continues to offer a
powerful NetBeans
(Rich Client) Platform that many have used to
create large clientside applications. Alexis Moussine-Pouchkine
correctly points
out that one of the best kept
secrets of NetBeans is the strength of the NetBeans Platform. "The
NetBeans Platform
is the engine behind NetBeans. " The platform is an application
runtime - a "generic" large desktop application. This platform approach
is commonly referred generically as a "Rich Client Platform" (RCP).
The NetBeans Platform
jumpstarts your
application - it
provides UI management, data |

|
and
presentation management, an
editor, setting management, a wizard
framework, configuration management and all done in a cross-platform
manner. Many developers are using the the NetBeans
Platform (for example, Nokia,
MC4J,
etc.) to build their large clientside applications.
You can see what others have been doing that are using the platform here
and here.
If you consider that the NetBeans platform by itself and then add to
that the fact NetBeans IDE has the one of the best UI building
tools, in the form of Matisse,
built into the NetBeans IDE 5.0 - NetBeans, both the Platform
and IDE, easily establishes itself as a one of the best
development solutions for building large rich client applications.
While many point to Matisse as a great innovative tool for doing the
user interface layout of rich clients others are pointing to
the
NetBeans Platform itself as allowing a rapid jumpstart for larger apps.
Both considerably speed up development - we will focus our
attention, for the moment, on the NetBeans Platform. You can
get started by looking at the Getting
Started with the NetBeans Platform and How
the Platform Works. |
To
get a flavor of how someone used the NetBeans Platform to create an
application you can look at one
of the most recent articles which is a very nice NetBeans 4.1-based tutorial
written
by an Eclipse developer and it is worthwhile going through it.
It
shows how to build a rich client using the NetBeans
Platform 4.1. The author, Tom Wheeler, has done a
nice job of critiquing and
showing a nice example
of how to build a clientside application and leveraging the NetBeans
Platform (4.1).
Tom provides some great reasons for using the
NetBeans RCP instead of the Eclipse RCP - true cross-platform support
(Swing versus SWT) that works consistently across all platforms.

NetBeans
5.0 creates a significantly easier approach for creating NetBeans
Plug-Ins and allows developers to rapidly extend the NetBeans Rich
Client Platform (RCP) for their own purposes. Check out the NetBeans
IDE 5.0 Plug-In Module Quick Start Guide.
|
The latest
version of the NetBeans RCP can be found in latest
development build.
However some very new tutorials provide great examples of how to use
the NetBeans RCP. An early draft of the NetBeans
5.0
Feedreader Rich-Client Application Tutorial. It
goes through
finding and installing the necessary resources, providing a sample app,
setting up the project, creating the FeedReader Window, testing the
application, adding code to the application, branding the application
and finally creating the FeedReader distribution. A very
complete
tutorial on building a NetBeans RCP application. In addition,
the latest APIs can be found here.
|
At the heart of the new
NetBeans 5.0 IDE and Platform are considerably better plugin module
support and as a well better support for creating rich client
applications.
There are a number of new developer tutorials that provide
step
by step instructions on how to build NetBeans plug-in
modules. If you are
interested in learning more - check this
page out. You will find some very good plugin module and API
tutorials :
|
NetBeans
as a whole, is a mature IDE and Platform and has been around
awhile - but with NetBeans IDE and Platform 5.0 it a revamped, rewired,
fast toolset. The Platform portion is very successful and offers (from
the NetBeans Platform website):
 |
User
Interface Management |
Windows,
menus, toolbars and other
presentation components are provided by the Platform. Developers write
to a set of abstractions such actions and components, saving time, and
producing cleaner, more bug-free code. Custom components and behaviors
can be written, but for most cases this is not needed. |
 |
Data
and Presentation Management |
The
NetBeans Platform
contains a rich toolset for presentating data to the user and
manipulating that data. |
 |
Editor |
Available
as an extension to the Platform,
applications built on NetBeans can use the NetBeans Editor, a powerful
and extensible toolset for building custom editors. |
 |
Setting
Managment |
The
NetBeans Filesystems infrastructure
abstracts file-based data. Files may exist locally or remotely, on FTP
or CVS servers or in a database; access to them is transparent to
module
code that works with files. The Platform can be extended to support new
forms of storage. |
 |
Wizard
Framework |
A toolset
for easily building
extensible, user-friendly Wizards to guide users through more complex
tasks. |
 |
Configuration
Managment |
Rather
than tediously write code to
access remote data and manage and save user-configurable settings,
etc.,
all of this is handled by the Platform. Applications consist of the
platform and the logic code important to that application. |
 |
Storage
Managment |
An
abstraction of file-based data access.
"Files" in the NetBeans paradigm may be local files, or exist remotely,
for example, on an FTP server, CVS repository or in a database. Where
this data is stored is completely transparent to other modules that
work
with this data.
|
The NetBeans' Platform provides an excellent choice for
those looking to create a large application. The NetBeans
Platform offers a wealth of services to assist in creating clientside software and the platform will jumpstart client development by offering substantial infrastructure services for an application.
|
links: digg this del.icio.us technorati