Tenho visto em vários lugares as pessoas falando sobre os problemas de desenvolver Rails em Windows, agora que o Rails passou para repositório em Git nem se fala. Um dos principais lugares onde escutei isso foi no Rails Podcast Brasil, mais especificamente no episódio 12.

Os principais problemas apontados pelo pessoal no desenvolvimento são:

- Instalação de gems: Principalmente as gems que dependem de compilação;
- Limitações do shell: É de longa data que desenvolvedores tem problema com Windows por conta do “DOS” embutido nele, nunca foi um shell muito versátil, e se comparado com bash, a coisa ficar ainda pior;
- O git é muito limitado: Ao que parece o git realmente dominou as mentes dos desenvolvedores Rails, o que é bom, mas para quem trabalha com Windows a história parece ser outra, é possível ter ele rodando através de duas opções Cygwin ou Mysgit, eu pessoalmente não gosto de nenhuma das duas soluções, o Cygwin é bom mais é limitado e confuso, o Mysgit sofre do problema anterior.

Minha solução predileta é o uso de uma máquina virtual, pessoalmente eu utilizo VMware Player com Ubuntu Server, é possível utilizar qualquer outra VirtualBox ou Qemu são exemplos, ao meu ver o VMware é o mais fácil de configurar, inclusive já tento várias máquinas virtuais prontas pra baixar. O VirtualBox tem algums problemas de configuração da placa de rede, e o Qemu, mesmo usando kqemu nunca obtive uma qualidade que pudesse se comparar rodando no VMware.

Sei que a solução de virtualização não é para todos, existe muito problemas de performance, principalmente com máquinas com pouco ram. No meu caso tenho um notebook com 1GB de Ram é um processador de 1.83 core 2, a máquina virtual roda sem atrapalhar outras aplicações, claro que não é possível jogar ao mesmo tempo que estou com Firefox aberto e a máquina virtual, inclusive o grande vilão em se tratando de memória tem sido o Firefox. Mas já detectei momentos em que não estava utilizando a máquina virtual e uso de memória do VMware desceu a 29MB, sendo a máquina configurada com 256MB.

Existe diversas formas de se configurar a máquina virtual para trabalhar com Rails, segue os passos de uma configuração simples:

- Baixe o VMware Player;
- Baixe a máquina virtual com o Ubuntu Server já instalado;
- Baixe o putty;
- Baixe o TrayTask que vai esconder sua máquina virtual na barra do relógio [opcional];
- Rode a máquina virtual, log com o usuário notroot e a senha thoughtpolice;
- Verifique o ip da máquina virtual com um ifconfig;
- Agora já é possível acessar a máquina usando o putty;
- De uma olhada neste Howto é veja como configurar o samba no Ubuntu para facilitar o acesso aos arquivos da máquina virtual;

Existem n opções para o roteiro, desde de variação no acesso os arquivos usando servidor de ftp ou o winscp, e mesmo a opção de utilizar o Xming que permite abrir janelas dos programas rodando na máquina virtual como se fosse aplicativos nativos do Windows. E no caso do Putty pode se configurar chaves que permitam logar sem a senha na sua máquina virtual.

A instalação do Rails é fácil quando se esta no Ubuntu, podemos instalar todos os pacotes através do apt ou instalar o Ruby por apt, o gem atrás de tar.gz e depois instalar os gems como se faz normalmente. Existe diversas formulas na internet de como fazer a instalação do Rails no Linux.

Eu pessoalmente acho a solução razoável, visto que a melhor solução é de fato migrar pra Linux. Mas para quem não tem esta opção por um motivo ou outro, fica a dica. Se bem configurado e usando as ferramentas certas é possível trabalhar com total conforto de um ambiente POSIX sem perder as “vantagens” do Windows.