IntellijIDEA 12 lançado

Galera,

a JetBrains lançou agora a pouco a nova versão do IntellijIDEA.

Uma excelente melhoria para quem já se acostumou com o Eclipse foi a unificação do code complete, agora temos apenas o CTRL+Espaço igual ao Eclipse (os outros ainda estão lá pra quem preferir). O novo tema escuro ficou muito bonito e agradável aos olhos. O UI Designer pra Android está excelente. Foram muitas mudanças legais nessa versão, incluindo suporte a frameworks e mudanças na interface gráfica.

Bom, pra quem é fã desse IDE vale muito a pena. Quem adquiriu a versão 11 com 50% de desconto pode comprar o 12 com 50% de desconto (licença upgrade).

Acabei de garantir o meu.

Pra Grails é a melhor IDE, já pra java não sinto falta.

Eu já acho que pra Java ela é imbatível. E isso que sou um fã de carteirinha do Eclipse.

Uma coisa que sinto falta no Intellij é a customização mais flexível da interface, igual no Eclipse. Mas não é nada tão dramático assim.

Eu nem me lembro quando foi a última vez que abri o Eclipse depois que comprei o Intellij. Hoje eu uso a dupla Intellij pra Java, Ruby e Python e Sublime Text pra qualquer coisa (acabei de configurar ele pra Latex e ficou excelente). Tá difícil ver alguma coisa que consiga barrar esses dois.

Eu já acho que pra Java ela é imbatível. E isso que sou um fã de carteirinha do Eclipse.

Uma coisa que sinto falta no Intellij é a customização mais flexível da interface, igual no Eclipse. Mas não é nada tão dramático assim.

Eu nem me lembro quando foi a última vez que abri o Eclipse depois que comprei o Intellij. Hoje eu uso a dupla Intellij pra Java, Ruby e Python e Sublime Text pra qualquer coisa (acabei de configurar ele pra Latex e ficou excelente). Tá difícil ver alguma coisa que consiga barrar esses dois.[/quote]

Ataxexe,

Você pode falar alguns pontos onde o IntelliJ é superior ao Eclipse?

Valeu.

[]'s

Pro Grails o negócio é mágica. É a única IDE que da conta do recado.

Pro restante, é fantástico também. Aliás, não só pro Java, pra Scala, PHP, Rails, Objective-C e Javascript estes caras tem produtos muito bons.

Sou um cara suspeito pra falar porque quando programo em Grails, só uso o Notepad++ ou o VIM.
Mas se fosse pra usar uma IDE, sem dúvidas seria uma destes caras.

É um investimento que se paga rápido.

[quote=Nykolas Lima]Ataxexe,

Você pode falar alguns pontos onde o IntelliJ é superior ao Eclipse?

Valeu.

[]'s[/quote]

Os que eu vivenciei foram:

  • As inspections dele são muito interessantes e cobrem uma gama enorme que vai desde seletores jquery que poderiam ser melhorados a erros de design no código
  • Ele é mais rápido que o Eclipse por conta de uma indexação mais eficiente
  • Contrói ant scripts para os artefatos do projeto (bem útil quando você não pode usar Gradle, Maven, etc.)
  • Temas visuais simples de configurar (pra mim faz uma falta no Eclipse, tente usá-lo no KDE com um tema escuro pra ter uma ideia)
  • Code complete mais inteligente (autocomplete em mapeamentos JPA, por exemplo)
  • O refactoring dele é um pouco melhor do que o já excelente do Eclipse (muda nomes das referências, por exemplo)
  • O editor dele é viciante!
  • Gerencia o copyright dos projetos (em vez de você colocar o copyright no template, você cria templates de copyright e aplica nos arquivos)
  • Plugins melhores (git, maven, hibernate, jpa e mais um monte)
  • Melhor suporte a outras linguagens (javascript, ruby, python, groovy, …)
  • A estrutura do projeto permite que você faça praticamente qualquer estrutura com gerenciamento de bibliotecas e escopos sem usar nenhuma ferramenta de build que não seja a nativa (bem útil quando estamos limitados tecnologicamente - quem trabalha muito com sistemas legados deve saber do que estou falando)

Eu ainda não tive tempo de conhecer a plataforma do Intellij (ela é voltada apenas pra ferramentas, não pra uso geral, igual a do Eclipse) pra fazer uma comparação com a do Eclipse, então, não posso opinar sobre isso.

O Eclipse tem muitas sacadas que eu gostaria muito de ver no Intellij:

  • Conceito de perspectivas
  • Teclas de atalho mais flexíveis
  • Customização mais flexível da área de trabalho
  • O famoso “CTRL+3” ([update] acabei encontrando, é o CTRL+SHIFT+A =) [/update])
  • O compilador extremamente customizável e eficiente (na minha opinião, o compilador do Eclipse é o melhor compilador Java que já vi)
  • Suporte completo à stack JBoss (é difícil bater o JBoss Developer Studio, o Intellij ganha apenas em alguns pontos isolados - como a integração com o Hibernate, por exemplo)

Claro que eu não trabalho com todas as tecnologias, mas pra quase tudo o que eu já me aventurei a fazer, o Intellij se saiu melhor do que o Eclipse.

Hoje eu uso o Sublime Text também porque ele é muito mais leve (por não ser um IDE, claro), o que é bem melhor quando você trabalha com coisas que não precisam dos recusos avançados de um IDE.

Não posso deixar de informar que o Eclipse é uma plataforma e o IntellijIDEA é um produto, ou seja, suas filosofias são diferentes. O Eclipse prima por uma base sólida que forneça aos membros da ESF uma boa forma de construir suas ferramentas em cima dela (alguém aí lembra o tempão que ficamos esperado por um plugin pra web decente, enquanto que o WSAD - da IBM - já o tinha?). Já o Intellij, como um produto, precisa fornecer o melhor “out-of-the-box” (semelhante ao NetBeans, com a diferença do preço, claro). Por isso o Eclipse acaba perdendo pontos justamente nos plugins, pois ele tem uma plataforma incrível pra ser o melhor IDE, mas precisa de plugins para deixá-lo competitivo (o JBoss Developer Studio e o MyEclipse são bons exemplos disso).

Posso ter esquecido algum ponto, mas acho que dá pra ter uma noção de algumas diferenças entre os dois.

Não sei se você tem alguma intenção de trabalhar como vendedor na IntelliJ, mas seria um sucesso!

Depois dessa descrição aguçou bastante a curiosidade de quem estava preso na zona de conforto do todo-poderoso Eclipse.
E ainda me fez ver que talvez eu seja uma dessas pessoas :frowning:

Seria bom se toda vez que alguém fosse comparar tecnologias/ferramentas fizesse com essa imparcialidade.

Os debates seriam bem mais produtivos.

[quote=gomesrod]Não sei se você tem alguma intenção de trabalhar como vendedor na IntelliJ, mas seria um sucesso!

Depois dessa descrição aguçou bastante a curiosidade de quem estava preso na zona de conforto do todo-poderoso Eclipse.
E ainda me fez ver que talvez eu seja uma dessas pessoas :frowning: [/quote]

Hehehe, valeu! Eu realmente faço isso porque acho que a gente merece usar ferramentas boas. O preço (200 dólares ou 100 pro upgrade), é um pouco alto, mas não é tão mais caro do que comprar alguns jogos (sem ser pelo HumbleBundle, heheh). Sem contar que é um investimento, já que trabalhamos com isso.

Melhor IDE pra Java…

Excelente o post do Ataxexe, fez uma avaliação imparcial da ferramenta.

Parabéns cara.

Nas minhas férias pretendo explorar o IntellijIDEA.

Abraço

Valeu, pessoal, por gostarem do post.

Fiquem à vontade pra perguntar mais sobre os dois IDEs.

Ataxexe como funciona o hot deploy nos servidores de aplicação, é preciso ficar reiniciando o servidor para refletir as alterações realizadas na classes ou isso é automático? O famoso hot deploy…

Nas classes é semi-automático, basta alterar e clicar em Make (com as restrições da JVM quando o bytecode da classe sofre alteração, se alterar o corpo do método vai tranquilo). Confesso que prefiro fazer as alterações e depois clicar no Make do que ele ficar fazendo hotdeploy a cada vez que eu salvo o arquivo (claro que às vezes eu me esqueço desse detalhe e acabo não clicando no Make e achando que a alteração não funcionou…hehe). Se não me engano esse comportamento pode ser alterado, como eu gostei assim acabei não pesquisando mais a fundo.

Na parte web é um pouco diferente e depende da integração com o servidor de aplicação. No JBoss, por exemplo, o Intellij usa uma abordagem que não permite atualizar as páginas (pelo menos até a versão 10). Porém, existe um plugin muito bom chamado AutoPackage.

O AutoPackage consegue fazer as alterações em qualquer artefato publicado em formato “explodido”, ou seja, sem ser empacotado. Assim que você salvar o arquivo ele já publica a alteração.

Ah! Lembrei de mais dois pontos muito bons no Intellij:

  • Não é necessário salvar o arquivo que você está editando (o Intellij vai salvando automaticamente)
  • Se você fechar o arquivo e abrí-lo novamente, pode usar CTRL+Z como se não tivesse fechado

Interessante, e quanto ao hardware? o que ele precisa de memória e cpu para rodar sem problemas?

Valeu

[quote=maiconramones]Interessante, e quanto ao hardware? o que ele precisa de memória e cpu para rodar sem problemas?

Valeu[/quote]

Os requerimentos você pode ver aqui. Detalhe importante: não é suportado o OpenJDK! (Creio que o motivo sejam as diferenças em algumas implementações do pacote swing, mas é só um palpite.)

Eu ainda não o usei em computadores mais simples porque faz tempo que trabalho com meu próprio computador, mas o usava muito bem quando tinha um notebook com Core 2 Duo a 2.4 GHz e 4GB de RAM no Fedora 14.

Opa,

eu estava usando ele, mas acho que peca muito na performance … não sei se tem alguma configuração especifica que devo habilitar … mas parece uma carroça perto do eclipse/netbeans.

Abraços.

[quote=clunsde]Opa,

eu estava usando ele, mas acho que peca muito na performance … não sei se tem alguma configuração especifica que devo habilitar … mas parece uma carroça perto do eclipse/netbeans.

Abraços.[/quote]

Qual o JDK que você está usando pra abrir ele? Se estiver no OpenJDK fica tremendamente ruim de usar (tanto que ele nem é suportado).

Onde você mais viu problemas de performance? De repente posso ajudar a resolver isso.

Estava procurando por dicas em relação a performance, e desabilitei a sincronização de arquivos, melhorou um pouco … mas uma coisa, eu estava testando a versão 12 não era a versão final e não estava usando o OpenJDK …

Uma coisa que eu não achei é o CTRL + SHIFT +O (Organize Imports) do eclipse …

outra coisa que eu também não achei é a criação de templates como existe no netbeans, no qual ele constroi templates baseados em entities …

[quote=clunsde]Estava procurando por dicas em relação a performance, e desabilitei a sincronização de arquivos, melhorou um pouco … mas uma coisa, eu estava testando a versão 12 não era a versão final e não estava usando o OpenJDK …

Uma coisa que eu não achei é o CTRL + SHIFT +O (Organize Imports) do eclipse …

outra coisa que eu também não achei é a criação de templates como existe no netbeans, no qual ele constroi templates baseados em entities …

[/quote]

É, como era o preview pode ser que tenham corrigido esse problema.

Quanto ao comando Organize Imports, no Intellij se chama Optimize Imports (item do menu Code). Também tem como configurar isso pra rodar cada vez que você salvar o arquivo (semelhante ao Save Actions do Eclipse).

Quanto à criação de templates eu não entendi porque não sei como é essa funcionalidade no Netbeans.