## About Modules and Rich-Client Applications

See Also

A NetBeans module is a Java archive (JAR) file which contains Java classes written to interact with the NetBeans APIs. A module identifies itself as a module by an entry in its `MANIFEST.MF` file. NetBeans modules are packaged as NBM files (`.nbm` extension) for non-installer distribution, usually via the Update Center wizard under the Tools menu.

NetBeans modules are written with one of two aims in mind:

- Extending the IDE. You can very easily generate skeleton code for extending the IDE's functionality with new features. For example, you can use the skeleton code to write modules that make your favorite cutting-edge technologies available to the NetBeans IDE. Or, if you miss some functionality in the IDE, you can add it yourself, by using the skeleton code to write a module that provides the desired functionality.
- Building a rich-client application. You can use the core of the IDE as a platform on top of which you develop standalone desktop applications. The core of the IDE is a separate product called the NetBeans Platform. By basing your application on the NetBeans Platform, you can save a lot of development time, because you can reuse the platform's existing features such as menus, toolbars, and windowing systems.
  - Even though it is a separate product, there is little need to download the NetBeans Platform separately—you can develop the rich-client application in the IDE and then exclude the modules that are specific to the IDE but that are superfluous to you application. Only when you want to use a different version of the platform than is included in the IDE, does it make sense to download the NetBeans Platform and install the modules that define the application into it.

See Also
  About the NetBeans Platform
  About the NetBeans APIs
  About the System Filesystem
  About XML Layer Files
  Working with Modules
  Module Tasks: Quick Reference

Legal Notices