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

= Camí d'aprenentatge plataforma NetBeans
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Camí d'aprenentatge plataforma NetBeans - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Camí d'aprenentatge plataforma NetBeans


== Què és la plataforma NetBeans?

La plataforma NetBeans és un ampli framework basat en Swing, amb el qual podeu basar les vostres grans aplicacions d'escriptori. L'IDE per si mateix està basat en la plataforma NetBeans. La plataforma conté APIs que simplifiquen en maneig de finestres, accions, fitxers, i d'altres coses típiques en aplicacions.

Cada una de les diferents característiques de l'aplicació de la plataforma NetBeans, poden proporcionar-se amb un mòdul NetBeans diferent, el qual es pot comparar a una extensió. Un mòdul NetBeans és un grup de classes Java que proporcionen una aplicació amb característiques específiques.

També podeu crear mòduls per al mateix NetBeans. Per exemple, podeu escriure els vostres mòduls que proporcionin tecnologies en estat d'art als usuaris de l'IDE NetBeans. Alternativament, podeu crear un mòdul que proporcioni característiques addicionals a l'editor.

== Com començar

* link:http://platform.netbeans.org/tutorials/nbm-google.html[+Inici ràpid als complements de NetBeans+]
* link:http://platform.netbeans.org/tutorials/nbm-quick-start.html[+Inici ràpid a la plataforma NetBeans+]
* link:http://platform.netbeans.org/tutorials/nbm-porting-basic.html[+Guia d'aprenentatge de portabilitat de la plataforma NetBeans+]

== Guies d'aprenentatge i Articles

=== Aplicacions construïdes en la plataforma NetBeans

* link:http://platform.netbeans.org/tutorials/nbm-crud.html[+Guia d'aprenentatge d'aplicació CRUD+]
* link:http://platform.netbeans.org/tutorials/nbm-paintapp.html[+Guia d'aprenentatge de l'aplicació de dibuix+]
* link:http://platform.netbeans.org/tutorials/nbm-feedreader.html[+Guia d'aprenentatge del lector de Feeds+]
* link:http://platform.netbeans.org/tutorials/nbm-htmleditor.html[+Guia d'aprenentatge de l'editor HTML+]

=== Trets Fonamentals de la plataforma NetBeans

* link:http://platform.netbeans.org/tutorials/nbm-runtime-container.html[+Guia d'aprenentatge del contenidor d'execució+]
* link:http://platform.netbeans.org/tutorials/nbm-10-top-apis.html[+Les 10 principals APIs de NetBeans (Vídeo)+]
* link:http://platform.netbeans.org/tutorials/nbm-idioms.html[+APIs de NetBeans en essència+]

==== Sèries introducció a resolució

* link:http://www.ssw.uni-linz.ac.at/Teaching/Lectures/SpezialLVA/TulachWielenga/part1.html[+Exemple WordApp - 1a Part+]
* link:http://www.ssw.uni-linz.ac.at/Teaching/Lectures/SpezialLVA/TulachWielenga/part2.html[+Exemple WordApp - 2a Part+]
* link:http://www.ssw.uni-linz.ac.at/Teaching/Lectures/SpezialLVA/TulachWielenga/part3.html[+Exemple WordApp - 3a Part+]

==== Sèries de gestió de selecció

* link:http://platform.netbeans.org/tutorials/nbm-selection-1.html[+1a Part: Guia d'aprenentatge gestió de selecció+]
* link:http://platform.netbeans.org/tutorials/nbm-selection-2.html[+2a Part: Guia d'aprenentatge gestió de selecció II—Utilitzant nodes+]
* link:http://platform.netbeans.org/tutorials/nbm-nodesapi2.html[+3a Part: Guia d'aprenentatge de l'API de nodes+]
* link:http://platform.netbeans.org/tutorials/nbm-property-editors.html[+4a Part: Guia d'aprenentatge de l'API de l'editor+]

==== APIS de NetBeans pel desenvolupament o expansió d'un editor

* link:http://wiki.netbeans.org/How_to_create_support_for_a_new_language[+Guia d'aprenentatge suport nou llenguatge+]
* link:http://platform.netbeans.org/tutorials/nbm-filetype.html[+Guia d'aprenentatge d'integració de tipus de fitxers+]
* link:http://platform.netbeans.org/tutorials/nbm-copyfqn.html[+Guia d'aprenentatge de l'infraestructura del llenguatge Java+]
* link:http://platform.netbeans.org/tutorials/nbm-palette-api1.html[+Guia d'aprenentatge del mòdul de retalls de codi+]
* link:http://platform.netbeans.org/tutorials/nbm-palette-api2.html[+Guia d'aprenentatge del mòdul d'edició de la paleta de components+]
* link:http://platform.netbeans.org/tutorials/nbm-xmleditor.html[+Guia d'aprenentatge del mòdul d'extensió de l'editor XML+]
* link:http://platform.netbeans.org/tutorials/nbm-hyperlink.html[+Guia d'aprenentatge de navegació Hyperlink+]
* link:http://platform.netbeans.org/tutorials/nbm-java-hint.html[+Guia d'aprenentatge d'indicacions Java+]
* link:http://platform.netbeans.org/tutorials/nbm-code-template.html[+Guia d'aprenentatge de plantilles de codi+]

==== APIs de NetBeans per a la visualització de dades

* link:http://platform.netbeans.org/tutorials/nbm-visual_library.html[+Guia d'aprenentatge de la biblioteca visual+]
* link:http://tdamir.blogspot.com/2007/12/ddl-visualizer-visualize-sql-script.html[+Visualitzar Scripts SQL amb la plataforma NetBeans+]
* link:http://wiki.netbeans.org/VisualDatabaseExplorer[+Un explorador visual de bases de dades per a NetBeans+]
* link:http://java.dzone.com/news/how-create-visual-applications[+Com crear aplicacions visuals en Java?+]
* link:http://java.dzone.com/news/how-add-resize-functionality-v[+Com afegir la funcionalitat de re-dimensió a aplicacions visuals en Java?+]
* link:https://netbeans.org/community/magazine/html/04/visuallibrary.html[+Ús creatiu de la biblioteca visual+]

==== APIs miscel·lànies de NetBeans

* link:http://platform.netbeans.org/tutorials/nbm-nodesapi.html[+Guia d'aprenentatge del mòdul de propietats del sistema+]
* link:http://platform.netbeans.org/tutorials/nbm-options.html[+Guia d'aprenentatge del mòdul de finestra d'opcions+]
* link:http://platform.netbeans.org/tutorials/nbm-projecttype.html[+Guia d'aprenentatge del mòdul de tipus de projecte+]
* link:http://platform.netbeans.org/tutorials/nbm-projectextension.html[+Guia d'aprenentatge del mòdul d'extensió de tipus de projecte+]
* link:http://platform.netbeans.org/tutorials/nbm-projectsamples.html[+Guia d'aprenentatge del mòdul mostra de projecte+]
* link:http://platform.netbeans.org/tutorials/nbm-filetemplates.html[+Guia d'aprenentatge del mòdul plantilla de fitxer+]

==== Screencasts

* link:http://netbeans.dzone.com/videos/free-netbeans-platform-crash[+Vídeo: Curs gratuït de trencament de la plataforma NetBeans+]
* link:http://platform.netbeans.org/tutorials/nbm-10-top-apis.html[+Vídeo: Les 10 APIs principals de NetBeans+]
* link:http://netbeans.dzone.com/news/video-part-1-introduction-netb-0[+1a Part: Contenidor d'execució+]
* link:http://netbeans.dzone.com/news/top-10-netbeans-apis-part-2[+2a Part: API resolució+]
* link:http://netbeans.dzone.com/news/top-10-netbeans-apis-part-3[+3a Part: API sistema de finestres+]
* link:http://netbeans.dzone.com/news/video-part-4-introduction-netb[+4a Part: API sistema de fitxers del sistema+]
* link:http://netbeans.dzone.com/news/video-part-5-introduction-netb[+5a Part: API nodes &amp; API explorador i full de propietats+]
* link:http://netbeans.dzone.com/news/video-part-6-introduction-netb[+6a Part: 1a Revisió: Portabilitat d'una aplicació a la plataforma NetBeans+]
* link:http://netbeans.dzone.com/news/video-part-7-introduction-netb[+7a Part: 2a Revisió: Portabilitat d'una aplicació a la plataforma NetBeans+]
* link:http://netbeans.tv/screencasts/Top-10-NetBeans-APIs-(Part-8)-442/[+8a Part: API paleta comú+]
* link:http://netbeans.tv/screencasts/Top-10-NetBeans-APIs-(Part-9)-443/[+9a Part: API biblioteca visual+]

== Aplicacions d'exemple

* link:http://apress.com/book/downloadfile/4393[+Exemples del llibre "La guia definitiva de la plataforma NetBeans"+]
* link:https://netbeans.org/kb/samples/feedreader.html?me=6&su=1[+Lector de Feeds RSS+]
* link:https://netbeans.org/kb/samples/paint-application.html?me=6&su=2[+Dibuixar+]

== Documents aportats per la comunitat

* link:http://wiki.netbeans.org/wiki/view/VisualDatabaseExplorer[+Un explorador visual de bases de dades per a NetBeans+], per Toni Epple
* link:http://tdamir.blogspot.com/2007/12/ddl-visualizer-visualize-sql-script.html[+Visualitzador DDL: Visualitzar scripts SQL amb NetBeans+], per Damir Tesanovic
* link:http://blogs.kiyut.com/tonny/2007/10/18/customize-netbeans-platform-splash-screen-and-about-dialog/[+Personalitzar la pantalla de càrrega i el diàleg quant a+], per Tonny Kohar
* link:http://wiki.netbeans.org/wiki/view/AddingMRUList[+Crear el llistat de 'Fitxers recentment utilitzats'+], per Tonny Kohar
* link:http://wiki.netbeans.org/wiki/view/TranslateNetbeansModule[+Traduïu el vostre mòdul NetBeans+], per Michel Graciano
* link:http://netbeans.dzone.com/tips/quickstart-guide-language-supp[+Inici ràpid: Creant eines de llenguatge en l'IDE NetBeans+], per Jordi R. Cardona

== Altres recursos

=== Recursos oficials de la plataforma NetBeans

* link:http://bits.netbeans.org/dev/javadoc/index.html[+API Javadoc NetBeans+]
* link:http://bits.netbeans.org/dev/javadoc/org-openide-modules/org/openide/modules/doc-files/api.html[+API mòdul sistema+]
* link:http://bits.netbeans.org/dev/javadoc/org-openide-windows/org/openide/windows/doc-files/api.html[+API sistema de finestres+]
* link:http://bits.netbeans.org/dev/javadoc/org-openide-filesystems/org/openide/filesystems/doc-files/api.html[+API sistema de fitxers+]
* link:http://bits.netbeans.org/dev/javadoc/org-openide-loaders/org/openide/loaders/doc-files/api.html[+API dades del sistema+]
* link:http://bits.netbeans.org/dev/javadoc/org-openide-nodes/org/openide/nodes/doc-files/api.html[+API nodes+]
* link:http://bits.netbeans.org/dev/javadoc/org-openide-explorer/org/openide/explorer/doc-files/api.html[+API explorador+]
* link:http://bits.netbeans.org/dev/javadoc/org-openide-explorer/org/openide/explorer/doc-files/propertyViewCustomization.html[+Personalització del ful de propietats+]
* link:http://bits.netbeans.org/dev/javadoc/org-netbeans-api-visual/org/netbeans/api/visual/widget/doc-files/documentation.html[+API biblioteca visual+]
* link:http://bits.nbextras.org/netbeans/trunk/javadoc/org-openide-util/org/openide/util/doc-files/api.html[+API utilitats+]
* link:http://bits.nbextras.org/dev/javadoc/layers.html[+Descripció dels registraments de les APIs de NetBeans+]
* link:http://bits.netbeans.org/dev/javadoc/apichanges.html[+Últims canvis a les APIs de NetBeans+]

=== Articles de revistes en línia

* link:http://java.sun.com/developer/technicalArticles/javase/extensible/index.html[+Creant aplicacions extensibles amb la plataforma Java+]
* link:http://java.dzone.com/news/how-create-pluggable-photo-alb[+Com crear un àlbum de fotos connectable en Java+]
* link:https://netbeans.org/community/magazine/html/04/maven.html[+Desenvolupament de plataforma NetBeans amb Maven i Mevenide+]

=== Blogs de la plataforma NetBeans

link:http://blogs.oracle.com/geertjan[+Geertjan Wielenga+],link:http://blogs.oracle.com/scblog[+Sandip Chitale+],link:http://blogs.oracle.com/jglick[+Jesse Glick+],link:http://weblogs.java.net/blog/timboudreau/[+Tim Boudreau+]link:http://blogs.kiyut.com/tonny/[+Tonny Kohar+],link:http://eppleton.com/blog/[+Toni Epple+]

=== Llibres de la pataforma NetBeans

* link:http://apress.com/book/view/9781430224174[+"La guia definitiva a la plataforma NetBeans"+]
* link:http://www.sun.com/books/catalog/rich_client_programming.xml[+"Programant un client ric: connectant-ho a la plataforma NetBeans"+]
