Ruby On Rails - IDE War 2 - IntelliJ IDEA
Continuando com a comparação de IDEs para RoR que comecei aqui vamos dar uma olhada nos recursos que o IntelliJ IDEA oferece para trabalharmos com o Rails …
<auto_promoção>
Antes de continuar, se você estiver começando agora e quiser aprender um pouco mais sobre RoR (Ruby On Rails), eu traduzi a pouco tempo o ótimo tutorial Four Dais on Rails: Primeiro Dia, Segundo Dia, Terceiro Dia, Quarto e Último Dia
</auto_promoção>
Para quem não conhece o IntelliJ IDEA é uma das melhores, se não a melhor IDE disponível hoje para se trabalhar com Java, mas ela possui também um módulo que pode ser instalado via o gerenciador de módulos da IDE para se trabalhar com Ruby, este módulo adiciona suporte para Ruby e Ruby On Rails …
Achei interessante a idéia pois assim é possível se trabalhar com mais de uma linguagem na mesma IDE, ja que estou começando a pouco com o RoR, mas ja trabalho com Java a algum tempo, por tanto, a maior parte dos projetos que desenvolvo e a grande maior parte do histórico é em Java …
Seguindo então com o Ruby On Rails IDE War
A coisa que mais sinto falta quando estou utilizando o VIM ou o Kate para editar qualquer tipo de código fonte, é code completion, até o bash completa automagicamente os comandos disponíveis, por que eu preciso decorar todos os métodos de uma classe?
Claro, eu sei que em linguagens dinâmicas não é possível adivinhar todos os métodos disponíveis mas boa parte deles não é dinâmico ![]()
Uma ótima surpresa ao utilizar o IDEA para editar uma applicação Ruby On Rails é o code completion deles …

Todos os métodos definidos para a classe ja estavam ali disponíveis para serem chamados, e o melhor de tudo, com a documentação em um popup

Como pode ser visto na imagem acima, até mesmo nos arquivos rhtml, o code completion funciona beleza
Isto me poupa bastante tempo, pois ja mostra os métodos para criação dos controles dos formulários, com os parametros possíveis …
Agora eu não preciso mais ficar 100% do tempo com a API do Rails aberta em uma janela do browser ![]()
O Legal é que este code completion ja mostra inclusive os métodos que eu adicionei nos helpers da aplicação também

Quando eu estiver editando o Model, os validates_* ja estão todos la também (claro, isto a gente acaba decorando com o tempo … )
Mas alem do code completion estar espetacular, o IDEA também possui diversos templates de código ja prontos …

A minha única reclamação é que os templates não tem um nome exatamente intuitivo …
Como por exemplo:
- va para validates_associated
- vc para validates_confirmation
- vp para validates_presence
Claro que uma vez isto decorado, é muito mais rápido …
Uma outra coisa espetacular do IntelliJ IDEA é que ele possui 3 tipos de code completion …
CTRL+SPACE - code completion normal, todas as possíveis classes, métodos e assemelhados …
CTRL+SHIFT+SPACE - smart completion, só o que provavelmente se encaixa naquele contexto …
CTRL+J - smart templates
Para facilitar um pouquinho para quem esta começando, e até para melhorar a integração IDE/Rails o menú “File\New” inclui todos os possíveis generators, inclusive os “não padrão” que estiverem disponíveis …

Eu achei esta integração dos generators bem melhor que a do RadRails, pois neste caso, parece que realmente faz parte da IDE e não que é algo que foi jogado ali por que foi a única forma que conseguiram …
Refactoring

Refactoring sempre foi “O” recurso mais espetacular do IntelliJ IDEA (fora o fato de a IDE parecer inteligente e se adaptar a forma de você trabalhar
), mas como pode ser visto no screenshot acima …
Quase nenhum Refactoring foi portado para o plugin de RoR ainda …
O plugin ainda esta em desenvolvimento, e com certeza haverão muitas melhoras neste ponto até o release oficial do plugin e do IntelliJ IDEA 7 …
Uma dica para quem estiver com o último EAP instalado, e estiver triste por que o plugin para Ruby não funciona nesta versão ainda …
Eu abri o jar, alterei a versão compatível no plugin.xml e tudo funcionou sem problema algum
Além dos screenshots
Além destes screenshots também existe um menu para as actions do Rake, que eu particularmente não acho tão útil assim, exceto pelo fato de facilitar a execução dos testes a partir da IDE.
É possível executar a aplicação em modo debug com o webrick ou o mongrel, e colocar breakpoints em qualquer parte do código …
Só não consegui breakpoints nos arquivos .rhtml, mas a principio isto é até uma coisa boa pois evita que algum desavisado tente colocar lógica na camada de apresentação
A configuração de servidores para execução da aplicação funciona exatamente da mesma maneira que para executar aplicações Java, o que garante consistência na experiência do programador …
Diferente do RadRails que para executar uma aplicação Java se usa um menu e para startar uma aplicação rails se utiliza outro …
É possível facilmente utilizar tanto o Ruby como o JRuby como interpretador …
Parecer Geral
O IntelliJ IDEA como sempre superou as minhas expectativas, exceto pelo fato de o suporte a refactorings ainda não ter muitos recursos para o Ruby, mas mesmo assim, a “inteligência” da IDE continua ajudando bastante na produtividade …
Outra coisa interessante é a performance dos editores, depois dos 15 segundos que o IDEA leva para inicializar na minha maquina, trabalhar com o editor de Ruby ou RHTML dele teve praticamente a mesma performance de se trabalhar com o Kate ou o VI, e digo praticamente por que não medi apenas, pois não ocorreu nenhum travamento ou qualquer coisa do genero (coisas que me decepcionaram bastante no RadRails).
Só deixo um aviso:
Se você acha que não vale a pena pagar por uma IDE que vai aumentar a sua produtividade, nem teste o IntelliJ IDEA, pois é bem provável que você fique viciado nele e acabe comprando uma licença …
[Parte 1 - Rad Rails] [Parte 3 - Net Beans Hudson]
Se você gostou deste post, lembre-se de assinar o RSS feed do blog, para ser notificado de novos posts!



Acho que esse negocio de pagar por IDE está com dias contados… logo logo o pessoal da JetBrains vai ter que procurar outro negocio para ganhar dinheiro…
cada vez mais o mundo se resume em eclipse e netbeans….
Eu HOJE , com IDE’s ricas em recursos como NetBeans e Eclipse ( até mesmo o JDeveloper) sao mais do que motivos para nao investir em uma IDE como Itellij…
Fora que mesmo sendo paga levou algum tempo para ela suportar Java EE 5 de maneira madura… enquanto por exemplo o NetBeans já tinha suporte a decadas…
Pode nao ser o MELHOR suporte… mas eh muito bom…
isso eh uma opiniao PESSOAL eh claro.
pode ser mesmo que isto aconteça
eu não abriria uma empresa hoje para vender uma IDE para desenvolvimento Java …
A minha única observação é que ainda falta bastante para o Eclipse e/ou o Netbeans alcançarem a qualidade e recursos do IntelliJ IDEA …
Mas concordo, acho que este é um mercado decadente …
O vim tem autocomplete sim!!
http://adzdavies.blogspot.com/2006/07/vim-70-autocomplete-with-rails.html
Estou gostando muito dos posts relacionados RoR… estou aguardando pelo testo do netbeans… pelo que tenho LIDO (não usei com ruby… apenas com java) ele não deixa muito a desejar em relação ao IntelliJ IDEA…
Acabei de publicar
http://www.urubatan.com.br/2007/08/08/ruby-on-rails-ide-war-3-netbeans-hudson-ruby-ide/
[…] […]