Configurando um ambiente de desenvolvimento mais produtivo

Quando planejamos a implantação de uma nova tecnologia, de um novo sistema, é comum nos preocuparmos diretamente com os recursos de hardware e software que serão requeridos nos computadores servidores envolvidos. Porém, um ponto que poucos lembram-se de planejar previamente diz respeito aos recursos que as equipes de desenvolvimento e manutenção irão demandar.

Para além dos produtos diretamente relacionados ao sistema implantado, que outros aplicativos podem ajudar um técnico a ser mais produtivo em suas tarefas? Nesta hora, nada melhor do que trocar experiências, conversar com quem vive essa realidade no dia-a-dia.

Este é o motivador deste post: trocar experiências!

Não temos porém a pretenção de determinar quais são os melhores softwares, tampouco, ao citarmos um aplicativo específico, não queremos dizer que seus concorrentes são menos qualificados. O que estamos nos propondo a fazer é, na verdade, apresentar uma coleção que acreditamos atender adequadamente a maioria das necessidades de trabalho dos técnicos envolvidos com automação de processos e com desenvolvimento de sistemas de um modo geral.

Nota: é importante atentar para as políticas de licenciamento de cada software! Nem todo programa que pode ser instalado gratuitamente permite o seu uso para fins comerciais. Não nos responsabilizamos e tampouco estimulamos usos indevidos. Tampouco temos qualquer relação comercial com os fabricantes e distribuidores dos aplicativos citados.

 

Bom, vamos ao que interessa!

Confira a lista de aplicativos que sugerimos, considerando as plataformas Windows e Linux. Aguardamos contribuições e outras sugestões nos comentários.

Para facilitar, vamos agrupar as sugestões em aplicativos básicos, técnicos, segurança e desenvolvimento.

Aplicativos básicos:

  • Primeiramente é importante definir o sistema operacional a ser utilizado. O Windows 7 Professional é uma ótima opção nessa plataforma e, em Linux, as distribuições Fedora e Ubuntu são recomendadas (mas muitas outras também são adequadas).

** Adicionalmente, o Firefox mostra-se como uma opção bastante interessante para desenvolvedores pela grande quantidade de plugins disponíveis para estender suas funcionalidades. Dentre esses, podemos destacar o Webdeveloper e o Firebug, especialmente úteis para depurar os componentes Javascript das suas páginas.

  • Compactador de arquivos 7-zip, para Windows.
  • PDF XChange é um bom leitor deste tipo de arquivo, pois é leve e permite a inclusão de comentários e marcações. No Linux, ele pode ser instalado utilizando o Wine, citado mais adiante (Okular e Evince são bons leitores também para Linux). Claro, há também a opção de utilizar o Adobe Reader (para Windows e Linux), mas este é bastante “pesado”. Já para geração de PDFs, o pdfCreator é uma ótima opção para Windows, e o Cups-PDF para Linux atende a necessidade.
  • Para edições simples de imagens, recomendamos o Paint.net para Windows ou o Gimp (Windows e Linux), e o Gadwin Printscreen (Windows) para produzir cópias de telas (a maioria dos ambientes Linux possui opção nativa para tal).
  • Para comunicação, Skype para videoconferências e para chat o Pidgin (Windows e Linux), que suporta em um só aplicativo contas do MSN, GTalk e de outros serviços.
  • Instale o cliente do Dropbox para compartilhar facilmente arquivos entre diferentes computadores, ou mesmo entre toda a equipe de desenvolvimento.

Aplicativos técnicos:

  • Para Linux, há muitos pequenos programas de linha de comando úteis para diversas tarefas. Em ambiente Windows, podemos utilizar boa partes desses comandos utilizando o Cygwin! Por exemplo, nada como poder utilizar o comando tail para acompanhar um arquivo de log e, com o Cygwin, isso é possível mesmo em Windows.
  • No Windows, podemos conectar em um ambiente Linux remoto utilizando o Putty ou XShell, e podemos até mesmo executar localmente programas gráficos que estão instalados em um ambiente Linux remoto se utilizarmos o XMing. E o contrário também é verdadeiro: podemos instalar e executar alguns aplicativos Windows em ambiente Linux, instalando o Wine. Se o aplicativo não for dependente de bibliotecas muito específicas, tem uma boa chance de funcionar muito bem! E, para conectar remotamente em uma máquina Windows a partir do Linux, utilize o Vinagre, um cliente Remote Desktop e VNC leve e adequado.
  • Para controle de versões SVN, instale no Windows o Tortoise SVN, que integra-se muito bem ao Windows Explorer. Existe também o projeto Tortoise GIT para este outro controle de versões. Bem menos explorado e conhecido, o sistema de controle de versões Bazaar é uma opção bastante interessante para manter versionados arquivos locais sem depender de um servidor específico para tal. Pode ser utilizado, por exemplo, para manter versões locais mais frequentes, sem, no entanto, submeter versões para o sistema centralizado da empresa, onde espera-se que sejam entregues apenas versões estáveis dos códigos-fonte.
  • Para comparação de arquivos, recomendamos WinMerge para Windows e Meld para Linux.
  • Para editar arquivos texto no Windows, esqueça o Notepad! Instale o Notepad++, que possui diversos recursos e plugins disponíveis.
  • Instale o Wireshark (Windows e Linux) para interceptar e monitorar o tráfego de rede.

Segurança:

  • Utilize o TrueCrypt principalmente para proteger pendrives e HDs externos, mas o mesmo pode ser utilizado também para criptografar discos rígidos dos seus computadores. ** Adicionalmente, em Linux, é possível criptografar o disco rígido facilmente utilizando LVM.
  • Especialmente em ambiente Windows, tenha um bom antivirus instalado! O McAfee é bastante eficiente, mas tem custo de licença e consome bastante recursos do computador. Já o Comodo tem a vantagem de ser uma suite com antivirus, antimalware e firewall, e gratuita. Para Linux, o Avast é uma boa opção de antivirus para uso pessoal, enquanto que o Clamav é o mais famoso e de uso gratuito. Já o ipTables é o firewall padrão (boa parte das distribuições geralmente contam com um aplicativo gráfico de firewall baseado em iptables). Ainda para Windows, pode-se também fazer uso das próprias ferramentas da Microsoft: Windows Firewall e o Security Essentials como antivirus.
  • Também não esqueça de ter uma opção de software para backup, especialmente se trabalhar em home-office ou se viaja muito com notebook. A maioria desses serviços é pago, mas seu custo caiu muito nos últimos anos. Algumas opções de empresas que disponibilizam serviço de backup remoto são: CrashPlan, Carbonite e Mozzy – estes dois últimos somente para Windows, o primeiro para múltiplas plataformas.

Desenvolvimento:

  • Para acesso e programação em banco de dados Oracle, utilize o Oracle Sqldeveloper. Para banco de dados SQL Server, utilize as próprias ferramentas  Microsoft.
  • Para desenvolvimento, depende muito do gosto do programador, mas Eclipse e Netbeans são ótimas IDEs.
  • Para teste e simulação de webservices, o SoapUI é uma excelente ferramenta.
  • Para automação de build e deploy, principalmente em Java mas também em outras linguagens e plataformas, utilize Ant e Maven.
  • Para virtualização de servidores, o VirtualBox é uma ótima opção, pois permite inclusive criar snapshots. Mais limitado, o VMware Player também serve para executar máquinas virtuais facilmente.

Bom, ficamos por aqui. Compartilhando esta lista de aplicativos, esperamos ajudar a facilitar o processo de escolha de ferramentas para as diversas necessidades e demandas de software que surgem em um ambiente de desenvolvimento.

Aguardamos comentários e sugestões de outros aplicativos que podem ajudar a tornar o nosso dia-a-dia mais produtivo ;-)

2 ideias sobre “Configurando um ambiente de desenvolvimento mais produtivo

  1. Excelentes dicas! Mais algumas que me ocorrem, no espirito da troca de ideias e compartilhamento …

    * Para encriptar discos no Windows o BitLocker (disponivel da versao Professional em diante) e’ mais leve que o TrueCrypt, e integra-se muito bem ao sistema.

    * Editor de desenvolvimento leve: SublimeText2 ( http://www.sublimetext.com/2 ). Nao eh uma IDE completa, mas e’ extensivel (em Python!) e tem atalhos de teclado extremamente uteis.

    * Console2 ( http://sourceforge.net/projects/console/ ). Serve como host (com tabs, transparencia, redimensionamento, etc) para diversos shells, como cmd.exe, git bash, iPython, etc …

    * Filezilla para aquele eventual FTP para o hosting provider

    * SlickRun ( http://www.bayden.com/slickrun/ ) para quem usa muito a combinacao Win+R para iniciar programas, esse e’ um launcher que permite programar keywords para lancar programas (ou paginas) especificos, ou outras acoes.

    E’ o que me ocorre no momento …

  2. Muito bom! Obrigado pelas contribuições.

    O que me faz lembrar de dois outros aplicativos que recomendo para ambiente Windows:

    Um lançador de aplicativos, no estilo do SlickRun, chamado Launchy (http://www.launchy.net/). ** Desde que passei a utilizá-lo, nunca mais perdi tempo clicando no menu Iniciar!

    Um plugin para o Windows Explorer chamado stExBar (http://tools.tortoisesvn.net/StExBar.html) que adiciona dois ótimos atalhos de teclado: copiar o caminho completo de um arquivo e/ou copiar seu nome. Isso é útil pois em geral é mais fácil localizar um arquivo pelo Windows Explorer do que pelas janelas de “abrir” dos programas…

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>