Features of the Platform
Window management
- Rather than deal with the vagaries of window management in
your own code, the NetBeans Platform handles this for you - you write
component level objects that surface the user interface important to
*your* functionality
Action/Toolbar/Menu management
- Rather than write code to manage menus, simply write the logic
that's important to you - what should *happen* when a user clicks on a
menu item
File/Data access
- NetBeans contains an incredibly powerful data access system.
While it is file-based, it is not file-centric. Any data stored in a
hierarchy can be "files" in the NetBeans paradigm. The Filesystems
library provides a Service Provider Interface for plugging in new
storage types. By writing to this interface, any existing module can
work with that data as if it were files.
Wizard frameworks
- NetBeans provides a comprehensive framework for building
extensible wizards, which can even be extended later by other modules
added to the system. Again, the focus is on concentrating on business
logic, so you don't need to reinvent the wheel.
Settings management and storage
- one of the most painful routine aspects of writing an
application is user settings management - where and how to store them,
when to persist them, how to manage multiple users of one copy of an
application, etc. In NetBeans, it is enough to simply subclass the
SystemOption class, and write your persisting settings as a standard
JavaBeans component. Settings can be stored in a layered fashion, as
global (all users), project-specific, or per-user.
Hierarchical data management and presentation
- The Platform contains a generic facility for the hierarchical
management of data - the Nodes API - and a flexible presentation
toolkit to present that data and allow users to interact with it: the
Explorer API.
Features available in extension modules
Applications using the NetBeans Platform can bundle any modules
found on this site, which add additional services and functionality to
the platform, such as:
AutoUpdate
- The AutoUpdate module allows applications based on the
NetBeans Platform to query an update server (essentially an XML file
served over HTTP) to determine if new versions of modules or new
modules are available. Vendors of applications that use this module
can deliver updates, fixes and new functionality without forcing users
to download and install an entirely new distribution of the
application. Applications may automatically check if there are new
modules available, or this functionality can be explicitly invoked by
the user.
Editor
- The NetBeans Editor contains powerful extensions to the Swing
text APIs that make it easier to write a syntax highlighting code
editor. The editor is capable of "mixed-mode" operation in
which correct syntax highlighting, code-completion, formatting and
macros are provided for documents that contain content in more than
one language (such as a JSP page containing both HTML and Java code).
Some of the features available via the editor are:
- Code completion - providing a popup dialog to complete statements where those statements have a finite number of possible completions
- Annotations - Lines of code can be marked with "annotations" such as debugger breakpoints or bookmarks that indicate status relating to them
- Abbreviations - Abbreviations can be supplied which will be expanded to a longer string - for example, typing "sout[space]" in order to enter
System.out.println("").
CVS/Version control access
- The JavaCVS library is a stand-alone library that implements a
Concurrent Versioning System [link to cvshome] client in Java. Also
available is a module that integrates this support into
Explorer.
FTP support
- there is also support for files accessed via a File Transfer
Protocol server. The fact that files may reside on a remote server is
completely transparent to the user and to module code that interacts
with them.
Database support
- there are database support modules which support connecting to
databases using JDBC and presenting their contents in the user
interface
Scripting support
- The Scripting module allows you to install arbitrary scripting
languages and execute scripts in those languages within your
application.
Tomcat: Servlet and JSP support
- the NetBeans IDE uses this to allow users to view
documentation in their web browser of choice; servlets can interact
directly with the application environment and serve content from
it.