// 
//     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.
//

= NetBeans Platform Learning Trail
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: NetBeans Platform Learning Trail - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, NetBeans Platform Learning Trail


== What is the NetBeans Platform?

The NetBeans Platform is a broad Java framework on which you can base large desktop applications. NetBeans IDE itself is link:http://platform.netbeans.org/screenshots.html[+one of the hundreds of applications+] based on the NetBeans Platform. The NetBeans Platform contains APIs that simplify the handling of windows, actions, files, and many other things typical in applications.

Each distinct feature in a NetBeans Platform application can be provided by a distinct NetBeans module, which is comparable to a plugin. A NetBeans module is a group of Java classes that provides an application with a specific feature.

You can also create new modules for NetBeans IDE itself. For example, you can write modules that make your favorite cutting-edge technologies available to users of NetBeans IDE. Alternatively, you might create a module to provide an additional editor feature.

== Getting Started

* link:http://bits.netbeans.org/dev/javadoc/[+NetBeans API Javadoc+] (link:https://netbeans.org/downloads/zip.html[+download javadoc.zip for offline viewing+])
* link:https://netbeans.org/projects/platform/lists/dev/archive[+NetBeans Developer Mailing List+]
* link:http://wiki.netbeans.org/NetBeansDeveloperFAQ[+NetBeans Developer FAQ+]
* link:http://platform.netbeans.org/tutorials/nbm-google.html[+NetBeans Plugin Quick Start+]
* link:http://platform.netbeans.org/tutorials/nbm-quick-start.html[+NetBeans Platform Quick Start+]
* link:https://platform.netbeans.org/tutorials/nbm-dukescript.html[+NetBeans Platform Plugins with DukeScript+]
* What's New in NetBeans Platform link:http://platform.netbeans.org/whatsnew/65.html[+6.5+], link:http://platform.netbeans.org/whatsnew/67.html[+6.7+], link:http://platform.netbeans.org/whatsnew/68.html[+6.8+], link:http://platform.netbeans.org/whatsnew/69.html[+6.9+], link:http://platform.netbeans.org/whatsnew/70.html[+7.0+], link:http://platform.netbeans.org/whatsnew/71.html[+7.1+], link:http://platform.netbeans.org/whatsnew/72.html[+7.2+], link:http://bits.netbeans.org/7.2.1/javadoc/apichanges.html[+7.2.1+], link:http://bits.netbeans.org/7.3/javadoc/apichanges.html[+7.3+], link:http://bits.netbeans.org/7.3.1/javadoc/apichanges.html[+7.3.1+], link:http://bits.netbeans.org/7.4/javadoc/apichanges.html[+7.4+], link:http://bits.netbeans.org/8.0/javadoc/apichanges.html[+8.0+]? link:http://bits.netbeans.org/8.1/javadoc/apichanges.html[+8.1+]?

== Porting

* link:http://platform.netbeans.org/tutorials/nbm-porting-basic.html[+Porting Swing Components+]
* link:http://platform.netbeans.org/tutorials/nbm-javafx.html[+Porting JavaFX Components+]

== Using the NetBeans APIs

=== NetBeans Platform Fundamentals

Are you new to the NetBeans Platform? If so, after following the documents in the "Getting Started" section above, please continue your learning path by reading the documents below. In particular, the book, published in 2014, "NetBeans Platform for Beginners", is very highly recommended!

=== NetBeans Platform for Beginners

image::../../images_www/screenshots/platform/nbp4beginners.jpg[role="left", link="https://leanpub.com/nbp4beginners"]

* link:http://platform.netbeans.org/tutorials/nbm-runtime-container.html[+Runtime Container Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-10-top-apis.html[+Top 10 NetBeans APIs (Video)+]
* link:http://wiki.netbeans.org/NbmIdioms[+NetBeans APIs in a Nutshell+]

=== Essential NetBeans Platform Reference Card

image::../../images_www/screenshots/platform/refcard70.png[role="left", link="http://refcardz.dzone.com/refcardz/netbeans-platform-70"]

==== Quick Overviews

* link:http://netbeans.dzone.com/articles/netbeans-lookups-explained[+NetBeans Lookups Explained!+]
* link:http://netbeans.dzone.com/news/netbeans-extension-points[+How Do NetBeans Extension Points Work?+]

==== Selection Management Series

* link:http://platform.netbeans.org/tutorials/nbm-selection-1.html[+Part 1: Selection Management Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-selection-2.html[+Part 2: Selection Management Tutorial II—Using Nodes+]
* link:http://platform.netbeans.org/tutorials/nbm-nodesapi2.html[+Part 3: Nodes API Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-property-editors.html[+Part 4: Property Editor API Tutorial+]

=== Applications Built on the NetBeans Platform

==== Applications

* link:http://platform.netbeans.org/tutorials/nbm-paintapp.html[+Paint Application Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-feedreader.html[+Feed Reader Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-htmleditor.html[+HTML Editor Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-povray-1.html[+POV-Ray Renderer Tutorial+]

==== Common Scenarios

* link:http://platform.netbeans.org/tutorials/nbm-crud.html[+Create/Read/Update/Delete (CRUD)+]
* link:http://platform.netbeans.org/tutorials/nbm-geospatial.html[+Geospatial+]
* link:http://platform.netbeans.org/tutorials/nbm-workflow.html[+Workflow+]
* link:http://platform.netbeans.org/tutorials/nbm-ide.html[+Development Environment+]

=== NetBeans APIs for Developing Code Editors

* link:http://platform.netbeans.org/tutorials/nbm-filetype.html[+File Type Integration Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-javacc-lexer.html[+JavaCC Lexer Generator Integration Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-javacc-parser.html[+JavaCC Parser Generator Integration Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-copyfqn.html[+Java Language Infrastructure Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-code-generator.html[+Code Generator Integration Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-code-completion.html[+Code Completion Integration Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-mark-occurrences.html[+Mark Occurrences Module Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-palette-api1.html[+Code Snippet Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-palette-api2.html[+Editor Component Palette Module Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-xmleditor.html[+XML Editor Extension Module Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-hyperlink.html[+Hyperlink Navigation Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-java-hint.html[+Java Hints Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-code-template.html[+Code Templates Tutorial+]

=== NetBeans APIs for Visualizing Data

* link:http://platform.netbeans.org/tutorials/nbm-visual_library.html[+Visual Library Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-quick-start-visual.html[+Visual Library Tutorial for Java Applications+]
* link:http://tdamir.blogspot.com/2007/12/ddl-visualizer-visualize-sql-script.html[+Visualize SQL Scripts with the NetBeans Platform+]
* link:http://wiki.netbeans.org/VisualDatabaseExplorer[+A Visual Database Explorer for NetBeans+]
* link:http://java.dzone.com/news/how-create-visual-applications[+How to Create Visual Applications in Java?+]
* link:http://java.dzone.com/news/how-add-resize-functionality-v[+How to Add Resize Functionality to Visual Applications in Java?+]
* link:https://netbeans.org/community/magazine/html/04/visuallibrary.html[+Creative Uses of the Visual Library+]

=== Miscellaneous NetBeans Platform Tutorials

_(alphabetically ordered)_

* link:http://platform.netbeans.org/tutorials/nbm-filetemplates.html[+File Template Module Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-nbi.html[+Installer Integration Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-options.html[+Options Window Module Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-projectsamples.html[+Project Sample Module Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-projectextension.html[+Project Type Extension Module Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-projecttype.html[+Project Type Module Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-propertyeditors-integration.html[+Property Editor Integration Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-quick-search.html[+Quick Search Integration Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-ribbonbar.html[+Ribbon Bar Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-nodesapi.html[+System Properties Module Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-wizard.html[+Wizard Module Tutorial+]

=== Command Line

* link:http://platform.netbeans.org/tutorials/nbm-ant.html[+Ant+]
* link:http://platform.netbeans.org/tutorials/nbm-maven-commandline.html[+Maven+]

== YouTube: Five Simple Ways to Extend NetBeans IDE

image::../../images_www/screenshots/platform/five-easy-extend.png[role="left", link="http://www.youtube.com/watch?v=h4k5JpluJM8"]

== Using Maven with the NetBeans Platform

=== General Introductions

* link:http://wiki.netbeans.org/MavenBestPractices[+Maven Best Practices in NetBeans IDE+]
* link:http://mojo.codehaus.org/nbm-maven-plugin/[+About the NetBeans Module Maven Plugin+]

=== NetBeans Platform Tutorials

* link:http://platform.netbeans.org/tutorials/nbm-maven-commandline.html[+NetBeans Platform Maven Command Line Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-maven-quickstart.html[+NetBeans Platform Quick Start Using Maven+]
* link:http://platform.netbeans.org/tutorials/nbm-maven-modulesingle.html[+NetBeans Platform File Type Tutorial Using Maven+]
* link:http://platform.netbeans.org/tutorials/nbm-maven-modulesuite.html[+NetBeans Platform Selection Tutorial Using Maven+]
* link:http://platform.netbeans.org/tutorials/nbm-maven-crud.html[+NetBeans Platform CRUD Tutorial Using Maven+]

=== Miscellaneous

* link:http://blogs.oracle.com/geertjan/entry/mavenized_netbeans_platform_runtime_container[+Mavenized NetBeans Platform Runtime Container+]
* link:http://netbeans.dzone.com/how-create-maven-nb-project-type[+Creating Custom Project Types with Maven and the NetBeans Platform+]
* link:http://netbeans.dzone.com/nb-how-create-javahelp-mavenized[+Creating JavaHelp with Maven and the NetBeans Platform+]
* link:http://netbeans.dzone.com/videos/screencast-maven-and-netbeans[+Screencast: Maven and the NetBeans Platform+]

=== Diagnostics

* link:http://platform.netbeans.org/tutorials/nbm-test.html[+NetBeans Platform Test Infrastructure Tutorial+]
* link:http://platform.netbeans.org/tutorials/nbm-gesture.html[+NetBeans Platform Gesture Collection Infrastructure Tutorial+]

== Using OSGi with the NetBeans Platform

* link:http://platform.netbeans.org/tutorials/nbm-osgi-quickstart.html[+NetBeans Platform Quick Start Using OSGi+]
* link:http://platform.netbeans.org/tutorials/nbm-emf.html[+NetBeans Platform EMF Integration Tutorial+]

== Screencasts

* link:http://prezi.com/b5ntwnpvu9j8/free-netbeans-platform-crash-course/[+Slides: Free NetBeans Platform Crash Course+]
* link:http://platform.netbeans.org/tutorials/nbm-10-top-apis.html[+Video: Top 10 NetBeans APIs+]

== Community-Contributed Docs

* link:http://wiki.netbeans.org/wiki/view/VisualDatabaseExplorer[+A Visual Database Explorer for NetBeans+], by Toni Epple
* link:http://tdamir.blogspot.com/2007/12/ddl-visualizer-visualize-sql-script.html[+DDL Visualizer: Visualize SQL Script with NetBeans+], by Damir Tesanovic
* link:http://blogs.kiyut.com/tonny/2007/10/18/customize-netbeans-platform-splash-screen-and-about-dialog/[+Customize the Splash Screen and About Dialog+], by Tonny Kohar
* link:http://wiki.netbeans.org/wiki/view/AddingMRUList[+Create the 'Most Recently Used Files' List+], by Tonny Kohar
* link:http://wiki.netbeans.org/wiki/view/TranslateNetbeansModule[+Translate Your NetBeans Module+], by Michel Graciano
* link:http://netbeans.dzone.com/tips/quickstart-guide-language-supp[+Quick Start: Creating Language Tools In NetBeans IDE+], by Jordi R. Cardona

== Reference Material

=== Official NetBeans Platform Reference Material

* link:http://bits.netbeans.org/dev/javadoc/index.html[+NetBeans API Javadoc+]
* link:http://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html[+Module System API+]
* link:http://bits.netbeans.org/dev/javadoc/org-openide-windows/org/openide/windows/doc-files/api.html[+Window System API+]
* link:http://bits.netbeans.org/dev/javadoc/org-openide-filesystems/org/openide/filesystems/doc-files/api.html[+Filesystems API+]
* link:http://bits.netbeans.org/dev/javadoc/org-openide-loaders/org/openide/loaders/doc-files/api.html[+Datasystems API+]
* link:http://bits.netbeans.org/dev/javadoc/org-openide-nodes/org/openide/nodes/doc-files/api.html[+Nodes API+]
* link:http://bits.netbeans.org/dev/javadoc/org-openide-explorer/org/openide/explorer/doc-files/api.html[+Explorer API+]
* link:http://bits.netbeans.org/dev/javadoc/org-openide-explorer/org/openide/explorer/doc-files/propertyViewCustomization.html[+Property Sheet Customization+]
* link:http://bits.netbeans.org/dev/javadoc/org-netbeans-api-visual/org/netbeans/api/visual/widget/doc-files/documentation.html[+Visual Library API+]
* link:http://bits.netbeans.org/netbeans/trunk/javadoc/org-openide-util/org/openide/util/doc-files/api.html[+Utilities API+]
* link:http://bits.netbeans.org/dev/javadoc/branding.html[+Branding+]
* link:http://bits.netbeans.org/dev/javadoc/layers.html[+Description of Layer Registrations in NetBeans APIs+]
* link:http://bits.netbeans.org/dev/javadoc/apichanges.html[+Latest NetBeans API Changes+]

== Other Resources

=== Online Magazine Articles

* link:http://java.sun.com/developer/technicalArticles/javase/extensible/index.html[+Creating Extensible Applications With the Java Platform+]
* link:http://java.dzone.com/news/how-create-pluggable-photo-alb[+How to Create a Pluggable Photo Album in Java+]
* link:https://netbeans.org/community/magazine/html/04/maven.html[+NetBeans Platform Development with Maven and Mevenide+]

=== NetBeans Platform Blogs

* link:http://blogs.oracle.com/geertjan[+Geertjan Wielenga+], link:http://eppleton.de[+Toni Epple+], link:http://www.aljoscha-rittner.de/blog/[+Aljoscha Rittner (German)+], link:http://blogs.oracle.com/scblog[+Sandip Chitale+], link:http://blogs.oracle.com/jglick[+Jesse Glick+], link:https://www.java.net/blogs/timboudreau[+Tim Boudreau+], link:http://blogs.kiyut.com/tonny/[+Tonny Kohar+].

=== NetBeans Platform Books

* link:https://leanpub.com/nbp4beginners[+"NetBeans Platform for Beginners"+]

image::../../images_www/screenshots/platform/nbp4beginners.jpg[role="left", link="https://leanpub.com/nbp4beginners"]

* link:http://www.apress.com/9781430241010[+"The Definitive Guide to NetBeans Platform 7"+]
* link:https://www.packtpub.com/netbeans-platform-6-9-developers-guide/book[+"NetBeans Platform 6.9 Developer's Guide"+]
* link:http://www.apress.com/9781430224174[+"The Definitive Guide to NetBeans Platform 6.5"+]
* link:http://www.amazon.com/Rich-Client-Programming-Plugging-NetBeans/dp/0132354802[+"Rich Client Programming: Plugging into the NetBeans Platform"+]

