blob: 1c7dd329d384dd671e1b02e7c9e6785498aa2cbf [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.
//
= Modos de Desenvolvimento Remoto de C/C++ no IDE
:jbake-type: tutorial
:jbake-tags: tutorials
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Modos de Desenvolvimento Remoto de C/C++ no IDE - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Modos de Desenvolvimento Remoto de C/C++ no IDE
Março de 2014 [Número da revisão: V8.0-1]
Este artigo descreve os recursos de desenvolvimento remoto disponíveis no NetBeans IDE quando você tiver o módulo C/C++ instalado, e como escolher a melhor forma de usá-los no seu ambiente de desenvolvimento.
== O Que É Desenvolvimento Remoto
O desenvolvimento remoto é uma funcionalidade do NetBeans IDE que permite executar o IDE em um computador executando Microsoft Windows, Mac OS X, Oracle Solaris ou Linux. Ele permite ainda compilar, executar e depurar seu programa em outro computador que execute Oracle Solaris ou Linux.
== Quando Usar o Desenvolvimento Remoto
Você pode usar o desenvolvimento remoto se uma das circunstâncias abaixo for verdadeira para você:
* Seu sistema operacional não está executando Oracle Solaris ou Linux.
* Você está executando o IDE em um sistema Solaris que às vezes tem cargas altas.
* Seu acesso aos sistemas que executam o Oracle Solaris ou Linux se limita ao SSH (Shell Seguro) por motivos de segurança.
* A execução das ferramentas da interface gráfica do usuário é difícil no ambiente do Solaris.
* O software que você está desenvolvendo deve ser compilado e executado em várias plataformas, como Solaris e Linux.
== Como Funciona o Desenvolvimento Remoto
O IDE fornece funcionalidades para gerenciar hosts remotos. Você pode configurar um host remoto para usar para compilação, execução e depuração dos projetos em C, C++ e Fortran. O host remoto deve atender às seguintes condições:
* O sistema operacional do host remoto deve ser Oracle Solaris ou Linux.
* O host remoto deve executar o daemon do SSH, `sshd`.
* Pelo menos um conjunto de ferramentas (GNU, Oracle Solaris Studio ou Sun Studio) deve estar acessível no host remoto.
* Você deve ter uma conta de usuário no host.
Você pode gerenciar seus hosts remotos na janela Serviços do IDE.
image::images/services_window.png[]
Depois de configurar o host remoto e conectá-lo, você poderá compilar, executar e depurar projetos como faz no seu sistema local. Os comandos do IDE Remoto são executados em SSH.
Quando você usa um host de desenvolvimento remoto, os hosts locais e remotos precisam acessar os arquivos do projeto. Esse acesso pode ser realizado por meio de compartilhamento de arquivos ou cópia segura dos arquivos. Antes de o IDE usar o compartilhamento de arquivos entre os sistemas locais e remotos, o sistema de arquivos compartilhado ou a pasta deve ser configurada e ficar acessível para ambos os sistemas. Os arquivos remotos são acessados por SFTP ou outro mecanismo de compartilhamento de arquivo disponível no sistema operacional em que o host está sendo executado (por exemplo, NFS, Samba ou WebDAV).
Se o compartilhamento de arquivos não for possível, você poderá usar a Cópia Automática para copiar os arquivos no servidor usando SSH.
== Benefícios do Desenvolvimento Remoto
O desenvolvimento remoto oferece os seguintes benefícios:
* Você pode usar o mesmo ambiente de desenvolvimento para todos os projetos.
* Os recursos para seu sistema de desktop são melhor utilizados.
* O tráfego de rede é otimizado.
* O tempo de resposta do IDE é melhor.
* Você pode navegar por sistemas de arquivo remotos do IDE.
* Você pode abrir uma janela de terminal no IDE para um host remoto.
* Você só pode usá-lo em ambientes seguros de SSH.
image::images/modes_diagram.png[]
No modo simples, os arquivos de origem residem principalmente no host local. Quando você cria seu projeto, os arquivos de origem são entregues sob demanda para o host remoto com o uso do SFTP (Protocolo de Transferência de Arquivos do SSH).
No modo misto ou compartilhado, os arquivos de origem residem em um local compartilhado entre o host local e o remoto usando o NFS, Samba, WebDAV ou outro sistema de compartilhamento de arquivos.
No modo totalmente remoto, os arquivos de origem residem no host remoto. O IDE acessa os arquivos usando SFTP.
== Decidindo Qual Modo de Desenvolvimento Remoto Usar
O melhor modo de desenvolvimento para sua situação específica depende do ambiente de desenvolvimento em que você trabalha. Cada seção a seguir descreve um exemplo de um ambiente de desenvolvimento em que um modo de desenvolvimento oferece os maiores benefícios.
=== Modo Simples
O modo simples pode ser o melhor modo remoto para suas necessidades se o diagrama a seguir descrever seu ambiente de desenvolvimento.
image::images/simple_mode_diagram.png[]
Neste ambiente, o modo simples oferece estes benefícios:
* Você pode usar o mesmo IDE para desenvolvimento local e remoto.
* Você pode alternar facilmente entre hosts e plataformas no IDE.
* Você pode usar o IDE em um ambiente somente SSH.
* Sua mobilidade aumentou.
=== Modo Misto (Compartilhado)
O modo misto ou compartilhado pode ser uma boa escolha se seu ambiente de desenvolvimento tiver a aparência mostrada no seguinte diagrama.
image::images/mixed_mode_diagram.png[]
Os benefícios do uso de modo misto neste ambiente são:
* Você pode alternar facilmente entre hosts e plataformas no IDE.
* Não há nenhuma duplicação de arquivos (armazenamento no cache) como ocorreria na outros dois modos.
* O throughput de rede será tão bom quanto seu mecanismo de compartilhamento de arquivo (por exemplo, NFS, Samba ou WebDAV) puder especificar.
=== Modo Totalmente Remoto
O modo totalmente remoto pode ser o melhor para você se o seu ambiente de desenvolvimento tiver a aparência mostrada no diagrama a seguir.
image::images/full_mode_diagram.png[]
Neste ambiente, os benefícios do uso de modo totalmente remoto são:
* A migração com o uso de encaminhamento de X-window ou VNC é praticamente inigualável.
* O tempo de resposta do IDE aumenta.
* Você dependerá menos dos recursos do host de desenvolvimento.
* Uma carga menor no host de desenvolvimento reduz a carga no Oracle Solaris.
* Você pode criar novos projetos remotos de arquivos binários remotos.
== Selecionando seu Modo de Desenvolvimento Remoto
O modo de desenvolvimento remoto que você usa é determinado pela forma que você configura um host de compilação remoto, mas também pela forma como você acessa o projeto no IDE.
Para cada modo, você deve primeiro configurar um host de compilação remota, como descrito no link:./remotedev-tutorial.html[+tutorial de Desenvolvimento Remoto do C/C+++] e na Ajuda do IDE.
Você pode selecionar o modo simples ou misto para o host remoto no IDE usando a caixa de diálogo Propriedades do Host para especificar como os arquivos de projeto devem ser acessados quando você usa o host.
Abra a janela Serviços, expanda o nó Hosts de Compilação do C/C++, clique com o botão direito do mouse em um host remoto e selecione Propriedades.
image::images/host_properties_dialog.png[]
=== Modo Simples
Para o modo simples, defina Acessar arquivos do projeto pela cópia Automática.
É possível clicar com o botão direito do mouse, selecionar Definir Host da Compilação e selecionar o host remoto que você configurou para acessar os arquivos do projeto via cópia automática. Em seguida, você usará o modo de desenvolvimento remoto simples. Quando você compilar o projeto, os arquivos de projeto serão copiados automaticamente para seu diretório de usuário do NetBeans no host remoto.
=== Modo misto
Para o modo misto, defina o Acesso aos arquivos do projeto via Compartilhamento de arquivos no nível do sistema.
É possível clicar com o botão direito do mouse, selecionar Definir Host da Compilação e selecionar o host remoto que você configurou para acessar os arquivos do projeto via compartilhamento do arquivo no nível do sistema. Em seguida, você usará o modo de desenvolvimento remoto misto. Quando você criar o projeto, os arquivos do projeto permanecerão onde estão, pois poderão ser acessados do host local e do host de compilação remota.
=== Modo totalmente remoto
Para usar o modo totalmente remoto no IDE, use a barra de ferramentas Desenvolvimento Remoto descrita na seção a seguir.
== Desenvolvimento Totalmente Remoto Usando a Barra de Ferramentas
No modo totalmente remoto, você pode usar o IDE em execução no host local para trabalhar em projetos localizados em um host remoto, usando a barra de ferramentas de desenvolvimento remoto.
A barra de ferramentas é mostrada na figura a seguir.
image::images/RemoteToolbar.gif[]
Se você não vir a barra de ferramentas no IDE, poderá exibi-la escolhendo Exibir > Barras de Ferramentas > Remota.
Você pode usar a barra de ferramentas remota para selecionar um host remoto que já tenha configurado e trabalhar com projetos e arquivos no host remoto como se eles fossem locais.
Use os ícones conforme descrito na tabela a seguir.
|===
|image::images/connected24.gif[]
|
Status da conexão. Clique no ícone para conectar o servidor selecionado na lista ao lado do ícone. Se você já estiver conectado, poderá clicar nesse ícone para se desconectar do servidor.
O ícone indica o status da conexão, ficando verde quando conectado e vermelho quando não conectado.
|image::images/newProject24.gif[]
|
Criar projeto remoto. Clique no ícone para criar um novo projeto no host conectado no momento.
Por default, o projeto é criado no seu diretório `~/NetBeansProjects` no host remoto.
|image::images/openProject24.gif[]
|
Abrir projeto remoto. Clique no ícone para abrir projeto existente no host conectado no momento.
Você pode navegar até o projeto no sistema de arquivos remoto.
|image::images/openFile24.gif[]
|
Abrir arquivo remoto. Clique no ícone para abrir um arquivo no host conectado no momento.
Você pode navegar até o arquivo no sistema de arquivos remoto.
|===
== Caches e Segurança
Para oferecer acesso rápido aos arquivos remotos, o IDE usa um cache em disco no sistema local. O cache se localiza em `_userdir_/var/cache/remote-files`, em que `_userdir_` é exclusivo para o usuário e sua localização varia de acordo com a plataforma que você está executando o IDE.
Consulte uma descrição do `_userdir_` e dos locais de cada plataforma em link:http://wiki.netbeans.org/FaqWhatIsUserdir[+http://wiki.netbeans.org/FaqWhatIsUserdir+].
Quando você usar um desenvolvimento remoto em modos simples e compartilhados, somente cabeçalhos do sistema serão acessados pelo cache local, de forma que não haja risco de segurança.
No modo totalmente remoto, embora os arquivos se localizem no host remoto, o projeto é analisado no computador local. Quando os arquivos de origem são acessados para análise, eles são armazenados em cache no host local em `_userdir_/var/cache/remote-files` e eventualmente todos os arquivos de origem ficam no cache.
Nos computadores remotos, isso pode ser considerado risco de segurança. Para aumentar a segurança, o diretório de cache pode ser criptografado ou excluído regularmente.
Os caches que residem no ` ~/.netbeans/remote` no host remoto são criados quando você usa o modo simples e os arquivos de origem são copiados automaticamente sob demanda do host local para o host remoto, durante a compilação do projeto. Esses arquivos estão tão seguros quanto qualquer outro do servidor, portanto eles não geram preocupação de segurança.
== Para Obter Mais Informações
Consulte os seguintes locais para obter mais informações:
* O menu Ajuda do IDE oferece acesso a muitas informações sobre o uso do IDE.
* O link:./remotedev-tutorial.html[+tutorial de Desenvolvimento Remoto do C/C+++] informa como fazer o desenvolvimento remoto simples passo a passo
* A link:https://netbeans.org/kb/trails/cnd.html[+Trilha de Aprendizado C/C+++] oferece diversos artigos e tutoriais para o desenvolvimento em C/C++ no IDE.
link:/about/contact_form.html?to=3&subject=Feedback:%20C/C++%20Remote%20Development%20Modes%20-%20NetBeans%20IDE%20Article[+Envie-nos Seu Feedback+]link:mailto:users@cnd.netbeans.org?subject=Feedback:%20C/C++%20Remote%20Development%20Modes%20-%20NetBeans%20IDE%20Article[+Enviar Feedback sobre Este Artigo+]