The Wayback Machine - https://web.archive.org/all/20050601022025/http://www.netbeans.org:80/products/platform/features.html
HOME > Products > Platform > Features

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.


 

<< Previous : Platform Home Next : Benefits >>