blob: aeed1b3ddd26f45df6f55a8b463f5b213fa33b26 [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.
//
= Início rápido da Plataforma NetBeans
:jbake-type: platform_tutorial
:jbake-tags: tutorials
:jbake-status: published
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:icons: font
:experimental:
:description: Início rápido da Plataforma NetBeans - Apache NetBeans
:keywords: Apache NetBeans Platform, Platform Tutorials, Início rápido da Plataforma NetBeans
Bem-vindo à Plataforma NetBeans!
Este tutorial oferece uma introdução simples e rápida ao fluxo de trabalho da Plataforma NetBeans, orientando você na criação de um editor HTML simples. Embora simples, o Editor de HTML criado será muito desenvolvido porque reutilizará a infra-estrutura fornecida pela Plataforma NetBeans. Por exemplo, sem qualquer código, o Editor de HTML terá um sistema de janela desenvolvido. Após concluir este tutorial, você terá adquirido um conhecimento geral sobre como criar, construir e executar aplicativos da Plataforma IDE.
Após concluir este tutorial, você pode passar para a link:https://netbeans.apache.org/kb/docs/platform.html[trilha do aprendizado da plataforma NetBeans] A trilha do aprendizado fornece tutoriais abrangentes que destacam uma ampla gama de APIs do NetBeans para uma variedade de tipos de aplicativos. Se não desejar criar um aplicativo "Hello world", ignore este tutorial e vá direito para a trilha do aprendizado.
Opcionalmente, para fins de solução de problemas, você pode link:http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=6635[baixar a amostra completa] e inspecionar os códigos-fonte.
No fim deste tutorial, você terá um Editor HTML que se parece com este:
image::images/htmleditor_html_editor_final-61.png[]
*Observação:* Embora seja um aplicativo demonstrativo muito simples, ele não é um brinquedo! É um programa _real_ que dá suporte a edição fácil de páginas HTML, com recursos como auto-completar de código, validação e fragmentos de código HTML predefinidos.
O Editor HTML que você cria neste tutorial é uma aplicação rich-client concluída "sobre a Plataforma NetBeans". O que isso significa é que o núcleo do IDE, que _[.underline]#é#_ a Plataforma NetBeans, será a base da sua aplicação. Sobre a Plataforma NetBeans, você adiciona os módulos necessários e exclui aqueles de que o IDE precisa mas que a sua aplicação não. Aqui você vê alguns dos módulos do IDE, adicionados à Plataforma NetBeans, que é a sua base:
image::images/htmleditor_diagram.png[]
Criar esse Editor HTML significa gerar um esqueleto de aplicação, excluindo os módulos e os itens de interface do usuário de que você não precisa e, em seguida, definir a janela Favoritos como a janela que será aberta por padrão quando o IDE se iniciar. Todas essas atividades são suportadas pelos elementos de interface do usuário no IDE.
Você verá por si mesmo como é simples e fácil construir, ou para ser mais preciso, _montar_ uma aplicação completa sobre a Plataforma NetBeans. No fim, é mostrado como tornar o produto final facilmente baixável e iniciável usando o WebStart.
*Observação:* embora seja um produto separado, não é necessário baixar a Plataforma NetBeans separadamente por causa deste tutorial. Você desenvolverá a aplicação rich-client no IDE e, em seguida, excluirá os módulos que são específicos do IDE, mas que são supérfluos para a sua aplicação.
== Gerando a aplicação de esqueleto
Ao criar um aplicativo na Plataforma NetBeans, o primeiro passo é criar um projeto de aplicativo da Plataforma NetBeans. O projeto de conjunto de aplicativo da Plataforma NetBeans padrão inclui _todos_ os módulos incluídos na Plataforma NetBeans, assim como _todos_ os módulos incluídos no NetBeans IDE. Já que não precisamos de todos esses módulos, excluiremos os que não são necessários.
[start=1]
1. Usando o assistente para Novo projeto (Ctrl-Shift-N), crie um projeto de aplicativo da Plataforma NetBeans a partir do modelo na categoria de módulos do NetBeans, como mostrado abaixo:
image::images/htmleditor_netbeans-platform-app-1.png[]
Clique em Próximo e nomeie o projeto de aplicativo da Plataforma NetBeans como "NetBeansHTMLEditor". Clique em Terminar.
[start=2]
1. Clique com o botão direito do mouse no nó do projeto, escolha Propriedades e, em seguida, faça algumas alterações na caixa de diálogo Propriedades do projeto de aplicativo da Plataforma NetBeans:
* No painel Construir, clique em "Criar aplicação independente" para especificar que vai ser uma aplicação rich-client sobre a Plataforma NetBeans.
Verifique se você gosta do nome da marca do executável e do título do aplicativo da barra de título, como mostrado abaixo:
image::images/htmleditor_application_panel-61.png[]
* No painel Tela de splash, observe que você pode fornecer a tela de splash do aplicativo e as identificações de marca da barra de progresso, como mostrado abaixo:
image::images/htmleditor_splash_screen_panel-61.png[]
*Observação:* Se você não tiver uma tela de abertura, use link:images/htmleditor_splash.gif[esta].
* No painel Bibliotecas da caixa de diálogo Propriedades do projeto, você vê uma lista de "clusters". Um cluster é uma coleção de módulos relacionados. Os únicos clusters que precisam ser selecionados são ``gsf1`` , ``ide9`` e ``platform8`` . Desmarque todos os outros clusters. Agora, você precisa habilitar e desabilitar vários módulos, porque somente os especificamente relevantes ao Editor de HTML devem ser selecionados. Sempre que você marca ou desmarca a seleção de um módulo no painel Bibliotecas, uma entrada é adicionada ao arquivo de configuração da Plataforma NetBeans do aplicativo. Para agilizar este processo, nós simplesmente colaremos as entradas neste arquivo. Feche a caixa de diálogo Propriedades do projeto.
Expanda o nó Arquivos importantes e abra o arquivo de configuração da Plataforma NetBeans. Cole as seguintes entradas:
[source,java]
----
disabled.clusters=\
apisupport1,\
harness,\
java2,\
nb6.1,\
profiler3
disabled.modules=\
org.mozilla.rhino.patched,\
org.netbeans.api.debugger,\
org.netbeans.api.visual,\
org.netbeans.core.ide,\
org.netbeans.core.multiview,\
org.netbeans.core.nativeaccess,\
org.netbeans.insane,\
org.netbeans.lib.cvsclient,\
org.netbeans.libs.commons_logging,\
org.netbeans.libs.ini4j,\
org.netbeans.libs.jna,\
org.netbeans.libs.svnClientAdapter,\
org.netbeans.libs.xerces,\
org.netbeans.modules.autoupdate.services,\
org.netbeans.modules.autoupdate.ui,\
org.netbeans.modules.classfile,\
org.netbeans.modules.core.kit,\
org.netbeans.modules.css.editor,\
org.netbeans.modules.css.visual,\
org.netbeans.modules.db,\
org.netbeans.modules.db.core,\
org.netbeans.modules.db.drivers,\
org.netbeans.modules.db.kit,\
org.netbeans.modules.db.mysql,\
org.netbeans.modules.db.sql.editor,\
org.netbeans.modules.db.sql.visualeditor,\
org.netbeans.modules.dbapi,\
org.netbeans.modules.editor.bookmarks,\
org.netbeans.modules.editor.kit,\
org.netbeans.modules.extbrowser,\
org.netbeans.modules.gototest,\
org.netbeans.modules.httpserver,\
org.netbeans.modules.ide.kit,\
org.netbeans.modules.javascript.editing,\
org.netbeans.modules.javascript.hints,\
org.netbeans.modules.javascript.kit,\
org.netbeans.modules.javascript.refactoring,\
org.netbeans.modules.languages,\
org.netbeans.modules.languages.bat,\
org.netbeans.modules.languages.diff,\
org.netbeans.modules.languages.manifest,\
org.netbeans.modules.languages.sh,\
org.netbeans.modules.localhistory,\
org.netbeans.modules.mercurial,\
org.netbeans.modules.project.ant,\
org.netbeans.modules.project.libraries,\
org.netbeans.modules.properties,\
org.netbeans.modules.properties.syntax,\
org.netbeans.modules.schema2beans,\
org.netbeans.modules.sendopts,\
org.netbeans.modules.server,\
org.netbeans.modules.servletapi,\
org.netbeans.modules.subversion,\
org.netbeans.modules.tasklist.kit,\
org.netbeans.modules.tasklist.projectint,\
org.netbeans.modules.tasklist.todo,\
org.netbeans.modules.tasklist.ui,\
org.netbeans.modules.timers,\
org.netbeans.modules.usersguide,\
org.netbeans.modules.utilities,\
org.netbeans.modules.utilities.project,\
org.netbeans.modules.versioning,\
org.netbeans.modules.versioning.system.cvss,\
org.netbeans.modules.versioning.util,\
org.netbeans.modules.web.flyingsaucer,\
org.netbeans.modules.xml,\
org.netbeans.modules.xml.axi,\
org.netbeans.modules.xml.core,\
org.netbeans.modules.xml.lexer,\
org.netbeans.modules.xml.multiview,\
org.netbeans.modules.xml.retriever,\
org.netbeans.modules.xml.schema.completion,\
org.netbeans.modules.xml.schema.model,\
org.netbeans.modules.xml.tax,\
org.netbeans.modules.xml.text,\
org.netbeans.modules.xml.tools,\
org.netbeans.modules.xml.wsdl.model,\
org.netbeans.modules.xml.xam,\
org.netbeans.modules.xml.xdm,\
org.netbeans.modules.xsl,\
org.netbeans.spi.debugger.ui,\
org.netbeans.spi.viewmodel,\
org.netbeans.swing.dirchooser,\
org.openide.compat,\
org.openide.util.enumerations
enabled.clusters=\
gsf1,\
ide9,\
platform8
nbplatform.active=default
----
Agora, você possui o subconjunto de módulos do NetBeans que são relevantes ao Editor de HTML. Entretanto, embora você precise dos módulos que possui agora, provavelmente não precisa de todos os elementos de interface de usuário que esses módulos fornecem. Nas próximas seções, você irá ajustar a interface do usuário e personalizar o layout da janela especificamente para o Editor de HTML que está criando.
== Otimizando a interface de usuário
Você pode manter ou rejeitar o quanto desejar da interface do usuário que os módulos selecionados fornecerem. Por exemplo, seu editor HTML provavelmente não precisa de um ou todos os itens do menu Ferramentas. Semelhantemente, talvez haja barras de ferramentas ou botões da barra de ferramentas que não sejam necessários. Nesta seção, você remove a interface de usuário do IDE até que haja um subconjunto que seja útil para o seu aplicativo rich-client.
[start=1]
1. Expanda o projeto de aplicativo da Plataforma Netbeans, clique com o botão direito do mouse no nó Módulos e escolha Adicionar novo, como mostrado abaixo:
image::images/htmleditor_add-module-61.png[]
O assistente para Novo projeto (Ctrl+Shift+N) aparece. Nomeie o projeto como ``BrandingModule`` , clique em Próximo.
[start=2]
1. No campo Nome de base de código, digite ``org.netbeans.brandingmodule`` .
[start=3]
1. No campo Camada XML, digite o nome do seu pacote, anexado de "layer.xml", como "org/netbeans/brandingmodule/layer.xml" e clique em Terminar.
*Observação:* se você não digitar o local do arquivo layer.xml neste campo, o arquivo não será criado. Neste caso, crie um arquivo chamado "layer.xml" no pacote principal e registre-o manualmente no Manifesto do módulo da seguinte maneira:
[source,java]
----
OpenIDE-Module-Layer: org/netbeans/brandingmodule/layer.xml
----
[start=4]
1. No módulo de identificação de marca, expanda o nó ``layer.xml`` . Dois subnós são expostos:
image::images/htmleditor_expanded-xml-layer-61.png[]
*Observação:* caso você tenha adicionado manualmente o arquivo layer.xml, precisará expandir o nó Arquivos importantes para poder expandir o nó Camada XML encontrado nele.
[start=5]
1. No nó ``<esta camada em contexto>`` , o IDE mostra uma visualização mesclada de todas as pastas e arquivo que todos os módulos registram em suas camadas. Para excluir os itens, você pode clicar com o botão direito do mouse neles e escolher 'Excluir', como mostrado abaixo:
image::images/htmleditor_this-layer-in-context-61.png[]
O IDE adiciona marcas ao arquivo ``layer.xml`` do módulo que, quando o módulo é instalado, oculta os itens que você excluiu. Por exemplo, clicando com o botão direito do mouse em ``Barra de menus/Editar`` , você pode remover itens de menu do menu Editar que não são necessários para o Editor HTML. Fazendo isso, você gera trechos de código como o seguinte no arquivo ``layer.xml`` :
[source,xml]
----
<folder name="Menu">
<folder name="Edit">
<file name="org-netbeans-modules-editor-MainMenuAction$StartMacroRecordingAction.instance_hidden"/>
<file name="org-netbeans-modules-editor-MainMenuAction$StopMacroRecordingAction.instance_hidden"/>
</folder>
</folder>
----
O resultado do trecho de código acima é que as ações ``Iniciar gravação de macro`` e ``Parar gravação de macro`` fornecidas por outro módulo são removidas do menu por seu módulo de marca. Para exibi-las novamente, simplesmente exclua as marcas acima do arquivo ``layer.xml`` .
[start=6]
1. Use a abordagem descrita na etapa anterior para ocultar as barras de ferramentas, os botões da barra de ferramentas, os menus e os itens de menu que você desejar.
Quando tiver concluído este estágio, observe o arquivo ``layer.xml`` . Quando fizer isso, verá algo similar ao seguinte, dependendo dos itens que tenha excluído:
[source,xml]
----
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "https://netbeans.org/dtds/filesystem-1_1.dtd">
<filesystem>
<folder name="Menu">
<file name="BuildProject_hidden"/>
<folder name="File">
<file name="Separator2.instance_hidden"/>
<file name="SeparatorNew.instance_hidden"/>
<file name="SeparatorOpen.instance_hidden"/>
<file name="org-netbeans-modules-project-ui-CloseProject.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-CustomizeProject.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-NewFile.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-NewProject.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-OpenProject.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-RecentProjects.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-SetMainProject.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-groups-GroupsMenu.shadow_hidden"/>
</folder>
<file name="Refactoring_hidden"/>
<file name="RunProject_hidden"/>
<folder name="Window">
<file name="ViewRuntimeTabAction.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-logical-tab-action.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-physical-tab-action.shadow_hidden"/>
</folder>
</folder>
</filesystem>
----
== Otimizando o layout da janela
Usando o nó ``<esta camada em contexto>`` , você pode não somente excluir itens existentes, mas também pode alterar o conteúdo deles. Por exemplo, o Editor HTML trabalha em arquivos HTML, sendo assim, ao contrário do IDE regular, que trabalha com arquivos-fonte Java e projetos, faz sentido mostrar a janela ``Favoritos`` no layout inicial.
A definição do layout da janela também é descrita como arquivos em camadas, tudo armazenado na pasta ``Janelas2`` . Os arquivos na pasta ``Janelas2`` são arquivos XML pseudo-legíveis por humanos definidos pelas link:http://bits.netbeans.org/dev/javadoc/org-openide-windows/org/openide/windows/doc-files/api.html[APIs do sistema de janelas]. Eles são complexos mas a boa notícia é que, para fins do nosso Editor HTML, não é necessário compreendê-los completamente, como mostrado abaixo.
[start=1]
1. Em seu nó ``<esta camada em contexto>`` do módulo de marca, clique com o botão direito do mouse no nó ``Janelas2`` e escolha Localizar, como mostrado abaixo:
image::images/htmleditor_find-favorites-61.png[]
[start=2]
1. Procure por um objeto chamado ``Favoritos`` , ignorando o uso de maiúsculas/minúsculas. Você encontrará dois arquivos:
image::images/htmleditor_find-favorites2-61.png[]
O primeiro arquivo define a aparência do componente e como ele é criado. Como o componente não precisa ser alterado, não é necessário modificar o arquivo. O segundo é mais interessante para os seus propósitos, ele contém o seguinte:
[source,xml]
----
<tc-ref version="2.0">
<module name="org.netbeans.modules.favorites/1" spec="1.1" />
<tc-id id="favorites" />
<state opened="false" />
</tc-ref>
----
[start=3]
1. Embora a maior parte do XML seja criptografada, existe uma linha que parece promissora sem precisar ler nenhum tipo de documentação, é provável que alterar ``false`` para ``true`` tornará o componente aberto por padrão. Faça isso agora.
[start=4]
1. De forma similar, você pode alterar as janelas a seguir do seu estado aberto padrão para o estado que você deseja que elas se comportem no Editor de HTML:
* ``CommonPalette.wstcref`` . O estado aberto da Paleta de componentes é ``false`` . Trocar para ``true`` .
* ``navigatorTC.wstcref`` . O estado aberto do Navegador é ``true`` . Trocar para ``false`` .
* ``projectTabLogical_tc.wstcref`` . O estado aberto da janela Projetos é ``true`` . Trocar para ``false`` .
* ``projectTab_tc.wstcref`` . O estado aberto da janela Arquivos é ``true`` . Trocar para ``false`` .
* ``runtime.wstcref`` . O estado aberto da janela Serviços é ``true`` . Trocar para ``false`` .
Agora você deve ver que o seu módulo de marca contém alguns novos arquivos, um para cada um dos arquivos que você alterou. Na verdade, esses arquivos substituem aqueles que você encontrou nas etapas anteriores, sendo que agora você forneceu as informações necessárias para substituir o layout da janela:
image::images/htmleditor_wstcrefs-overridden-61.png[]
Verifique se o arquivo ``layer.xml`` agora contém o conteúdo a seguir. Caso não contenha, copie e cole o conteúdo abaixo no arquivo ``layer.xml`` .
[source,xml]
----
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "https://netbeans.org/dtds/filesystem-1_1.dtd">
<filesystem>
<folder name="Menu">
<file name="BuildProject_hidden"/>
<folder name="File">
<file name="Separator2.instance_hidden"/>
<file name="SeparatorNew.instance_hidden"/>
<file name="SeparatorOpen.instance_hidden"/>
<file name="org-netbeans-modules-project-ui-CloseProject.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-CustomizeProject.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-NewFile.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-NewProject.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-OpenProject.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-RecentProjects.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-SetMainProject.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-groups-GroupsMenu.shadow_hidden"/>
</folder>
<file name="Refactoring_hidden"/>
<file name="RunProject_hidden"/>
<folder name="Window">
<file name="ViewRuntimeTabAction.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-logical-tab-action.shadow_hidden"/>
<file name="org-netbeans-modules-project-ui-physical-tab-action.shadow_hidden"/>
</folder>
</folder>
<folder name="Windows2">
<folder name="Modes">
<folder name="commonpalette">
<file name="CommonPalette.wstcref" url="CommonPaletteWstcref.xml"/>
</folder>
<folder name="explorer">
<file name="favorites.wstcref" url="favoritesWstcref.xml"/>
<file name="projectTabLogical_tc.wstcref" url="projectTabLogical_tcWstcref.xml"/>
<file name="projectTab_tc.wstcref" url="projectTab_tcWstcref.xml"/>
<file name="runtime.wstcref" url="runtimeWstcref.xml"/>
</folder>
<folder name="navigator">
<file name="navigatorTC.wstcref" url="navigatorTCWstcref.xml"/>
</folder>
</folder>
</folder>
</filesystem>
----
== Otimizando a janela Favoritos
Na subpasta de uma pasta de ``marca`` projeto de aplicativo da Plataforma NetBeans, que esteja visível na janela Arquivos, você pode substituir as strings definidas nos códigos-fonte do NetBeans. Nesta seção, você substituirá as strings que definem os rótulos usados na janela Favoritos. Por exemplo, alteraremos o rótulo "Favoritos" para "Arquivos HTML", pois usaremos essa janela especificamente para arquivos HTML.
[start=1]
1. Abra a janela Arquivos e expanda a pasta de ``marca`` do projeto de aplicativo da Plataforma NetBeans.
[start=2]
1. Crie uma nova estrutura de pastas em ``marca/módulos`` . A nova pasta deve se chamar ``org-netbeans-modules-favorites.jar`` . Dentro dessa pasta, crie uma hierarquia de pastas ``org/netbeans/módulos/favoritos`` . Dentro da pasta final, ou seja, ``favoritos`` , crie um novo arquivo ``Bundle.properties`` .
image::images/htmleditor_favorites-branding-61a.png[]
Essa estrutura de pastas e arquivo de propriedades correspondem à estrutura de pastas nos códigos-fonte do NetBeans relacionados à janela Favoritos.
[start=3]
1. Adicione as strings mostradas na captura de tela abaixo para substituir as mesmas strings definidas no arquivo de propriedades correspondentes nos códigos-fonte da janela Favoritos:
image::images/htmleditor_favorites-branding-61b.png[]
Para simplificar esta etapa, copie e cole as strings definidas acima:
[source,java]
----
Favorites=HTML Files
ACT_AddOnFavoritesNode=&amp;Find HTML Files...
ACT_Remove=&amp;Remove from HTML Files List
ACT_View=HTML Files
ACT_Select=HTML Files
ACT_Select_Main_Menu=Select in HTML Files List
# JFileChooser
CTL_DialogTitle=Add to HTML Files List
CTL_ApproveButtonText=Add
ERR_FileDoesNotExist={0} does not exist.
ERR_FileDoesNotExistDlgTitle=Add to HTML Files List
MSG_NodeNotFound=The document node could not be found in the HTML Files List.
----
== Executando o aplicativo
Executar o seu aplicativo é tão simples quando clicar com o botão direito do mouse no nó do projeto e escolher um item de menu.
[start=1]
1. Clique com o botão direito do mouse no nó do projeto do aplicativo e escolha Limpar e construir tudo.
[start=2]
1. Clique com o botão direito do mouse no nó do projeto de aplicativo e escolha Executar:
[start=3]
1. Depois que a aplicação é implantada, você pode clicar com o botão direito do mouse dentro da janela Favoritos e escolher uma pasta contendo arquivos HTML e, em seguida, abrir um arquivo HTML, como mostrado abaixo:
image::images/htmleditor_html_editor_final-61.png[]
== Distribuindo o aplicativo
Escolha uma das duas abordagens para distribuir o aplicativo. Se você desejar manter o máximo possível de controle sobre o aplicativo, use o web start para distribuir o aplicativo na web. Neste cenário, sempre que você desejar atualizar o aplicativo, irá fazer isso localmente e permitir que os usuários finais saibam sobre a atualização, que estará disponível automaticamente para eles na próxima vez que iniciarem o aplicativo na web. Como alternativa, distribua um arquivo ZIP contendo seu aplicativo. Os usuários finais terão, assim, o aplicativo completo localmente disponível. Distribua então as atualizações e os novos recursos através do mecanismo de atualização, descrito abaixo.
=== Distribuindo o aplicativo através de um arquivo ZIP
Para estender seu aplicativo, você deve permitir que os usuários instalem módulos para aprimorar a funcionalidade do aplicativo. Para fazer isso, você precisa simplesmente ativar alguns módulos extras, que empacotarão o gerenciador de plug-ins com o seu Editor HTML.
[start=1]
1. Clique com o botão direito do mouse no projeto de aplicativo da Plataforma NetBeans e escolha Propriedades. Na caixa de diálogo Propriedades do projeto, use o painel Bibliotecas e marque as caixas de verificação ``Centrais de atualização`` , ``Serviços de atualização automática`` e ``UI de atualização automática`` realçadas abaixo:
image::images/htmleditor_auto-update-61.png[]
[start=2]
1. Clique com o botão direito do mouse no nó do projeto do aplicativo e escolha Limpar e construir tudo.
[start=3]
1. Execute o aplicativo e observe que agora você tem um novo item de menu, chamado "Plug-ins", no menu Ferramentas:
image::images/htmleditor_auto-update2-61.png[]
[start=4]
1. Escolha o nome item de menu Plug-ins e instale alguns plug-ins que sejam úteis para seu Editor HTML. Navegue no link:http://plugins.netbeans.org/PluginPortal/[Portal Plug-in] para localizar alguns que sejam adequados. É desta mesma forma que os usuários finais atualizarão sua instalação local do aplicativo.
[start=5]
1.
Clique com o botão direito do mouse no nó do conjunto de aplicativo e escolha Build ZIP Distribution.
[start=6]
1. Na pasta ``dist`` (visível na janela Arquivos), você agora deve ser capaz de ver um arquivo ZIP que pode ser expandido, para exibição de seu conteúdo:
image::images/htmleditor_unzipped-app-61.png[]
*Observação:* o iniciador do aplicativo é criado na pasta ``bin`` , como mostrado acima.
=== Distribuindo o editor HTML por meio do Repositório Web Start compartilhado do NetBeans
Em vez de distribuir um arquivo ZIP, vamos preparar para uma distribuição webstart fazendo ajustes finos no arquivo ``master.jnlp`` que é gerado na primeira vez que o aplicativo é iniciado. Embora ele faça o trabalho, ele não está pronto para distribuição. Pelo menos, você precisa alterar a seção de informações para fornecer melhores descrições e ícones.
Outra alteração na infra-estrutura JNLP padrão é o uso de um repositório JNLP compartilhado em www.netbeans.org. Por padrão, a aplicação JNLP gerada para um conjunto sempre contém todos os seus módulos, assim como os módulos do qual ela depende. Isso pode ser útil para uso de intranet, mas é um pouco menos prático para uso amplo na internet. Na internet, é muito melhor se todos os aplicativos construídos na Plataforma NetBeans se referirem a um repositório de módulos do NetBeans, o que significa que tais módulos são compartilhados e não precisam ser baixados mais de uma vez.
Existe um repositório como tal para NetBeans 6.1. Ele não contém todos os módulos que o NetBeans IDE possui, mas ele contém o suficiente para criar aplicativos não-IDE como o nosso editor HTML. Para usar o repositório, você só precisa modificar ``platform.properties`` adicionando a URL correta:
[source,java]
----
# share the libraries from common repository on netbeans.org
# this URL is for release60 JNLP files:
jnlp.platform.codebase=https://netbeans.org/download/6_0/jnlp/
----
Assim que o aplicativo é iniciado como um aplicativo JNLP, todos os seus módulos de plug-in compartilhados são carregados a partir de netbeans.org e compartilhados com os aplicativos que fazem o mesmo.
link:http://netbeans.apache.org/community/mailing-lists.html[Envie-nos seus comentários]
== Veja também
Isto conclui o Início rápido da Plataforma NetBeans. Este documento descreveu como criar um plug-in que adiciona uma barra de ferramentas do Google Search ao IDE. Para obter mais informações sobre a criação e o desenvolvimento de aplicativos na Plataforma NetBeans, consulte os seguintes recursos:
* link:https://netbeans.apache.org/kb/docs/platform.html[Outros tutoriais relacionados]
* link:https://bits.netbeans.org/dev/javadoc/[Javadoc da API da NetBeans ]