blob: dfe1f14b16abf2608eb72f01308c7fcf871846ad [file] [log] [blame]
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
= Basic Terms for NetBeans Rich Client Application Development
:jbake-type: platform_tutorial
:jbake-tags: tutorials
:jbake-status: published
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:icons: font
:experimental:
:description: Basic Terms for NetBeans Rich Client Application Development - Apache NetBeans
:keywords: Apache NetBeans Platform, Platform Tutorials, Basic Terms for NetBeans Rich Client Application Development
link:mailto:dev@netbeans.apache.org?subject=Feedback:%20NetBeans%20IDE%20Glossary%20for%20NetBeans%20Modules[Feedback]
The NetBeans Platform tutorials assume that you are familiar with some of the basic terms that relate to NetBeans module development. The terms are few and not very difficult. Once you have grasped the concepts below, you should consider reading link:nbm-idioms.html[Introduction to the NetBeans Idioms and Infrastructure].
The basic terms used in module development are as follows:
* *NetBeans Platform.* The skeleton application that provides everything most applications need and little of what they don't. The NetBeans Platform provides an application's common requirements -- such as menus, document management, and settings -- right out of-the-box. Building an application "on top of NetBeans" means that, instead of writing applications from scratch, you only provide the parts of your application that the NetBeans Platform doesn't already have. At the end of the development cycle, you bundle your application with the NetBeans Platform, saving you time and energy and resulting in a solid, reliable application.
* *System Filesystem.* The general registry that contains NetBeans configuration information, built from the layer.xml configuration files of the registered modules. NetBeans stores a wide variety of configuration information in the System Filesystem. For example, the System Filesystem contains a folder called Menu, which contains subfolders with names such as File and Edit. These subfolders contain files that represent Java classes which implement the actions that appear in the "File" and "Edit" menus in the IDE.
* *Module.* A group of Java classes that provides an application with a specific feature. For example, the feature provided by the Java classes in the link:nbm-feedreader.html[Feed Reader Tutorial] is an RSS/Atom feed reader. The Java classes use the manifest.mf file to declare the module and the layer.xml configuration file to register their functionality in the System Filesystem. In NetBeans terminology, "plugin" is an adjective, while "module" is a noun. There is no discernible difference in meaning between them.
* *NetBeans APIs.* The public interfaces and classes which are available to module writers. They are divided into specific APIs for dealing with different types of functionality. The contents and behavior of the Java source packages and its subpackages, as specified in the API reference documentation, are the APIs. For the full NetBeans API List, click link:https://bits.netbeans.org/dev/javadoc/[here].
* *Module Suite.* A group of interdependent modules that are deployed together. The IDE helps you to brand the suite -- for example, you can add a splash screen and you can specify the parts of the NetBeans Platform that you don't want your application to provide.