sexta-feira, 29 de junho de 2007

O Eclipse do jeito que a gente precisa



Antigamente eu achava que o bom do Eclipse era ser do jeito que a gente precisava. Com uma arquitetura de plug-ins muito bem bolada, a gente baixava o núcleo central e ia adicionando os plug-ins. Mas infelizmente a vida mansa durou pouco.

Por ser relativamente fácil escrever um plug-in, surgiram um monte deles que a gente baixava e ia instalando por cima dos outros. Só que, às vezes, isto dava conflito. E acontecia mesmo depois que o Eclipse passou a se basear em OSGI, que parece ser uma das melhores promessas de coisas deste gênero disponíveis por aí.

Então surgiu algum "gênio" e pensou: vamos empacotar tudo de uma vez só. Foi então criado o monstro Calisto, enorme engolidor de recursos do meu pobre PC. Diga-se de passagem, que o tal gênio deve ter mudado de emprego porque a mesma idéia "genial" de IDE gulosa, foi copiada pela turma do Netbeans, que na minha máquina exige paciência de Jó durante a carga.

Hoje foi lançado o Europa. Percebi que retrocederam alguns passos e agora criaram 3 sabores diferentes de pacotes. A opção customizada é semelhante a primeira com a recomendação de usar o update. No fim escreverei sobre ela.




Para verificar se ficou bom mesmo, parti para instalar as versões de desenvolvedor que na verdade se divide em duas outras:
Eclipse IDE for Java Developers e Eclipse IDE for Java EE Developers

A primeira delas é mais enxuta e o download é de somente (?) 80 Mb. Vem tudo que eu preciso quando quero examinar um código de um projeto Open Source que é coisa que faço de vez em quando.

Para verificar a possibilidade de adições, resolvi instalar o Test and Performance Tools (
TPTP). Podia seguir o caminho mais fácil que é baixar TPTP all-in-one package. Só que este bicho tem quase 200 Mb e vem com um monte de coisas com mais sentido para o Eclipse para JEE.

Assim baixei o tal
Eclipse Modeling Framework (EMF and XSD) 2.3.0, que é pré-requisito para o TPTP, e depois baixei o All TPTP plugins Runtime.

Aí foi só instalar primeiro o EMF, depois o TPTP e tudo ficou como eu queria. Melhor dizendo, quase do jeito que eu queria porque o tal zip que eu baixei, veio com GEF e integração do TPTP com o BIRT e com o WTP. Depois de instalado este Eclipse 3.3 ocupa 217 Mb no meu HD.

Não gostei da granulometria dos pacotes do Eclipse. Ainda é como se a gente fosse comprar um carro para trabalhar e nos empurrassem um tração 4x4, mais dispendioso e com "vantagens" que não vamos usar no asfalto.

Partindo do pressuposto que nós somos desenvolvedores, isto é, gente que entende um mínimo de informática, então deveria ser possível montar nosso Eclipse de forma fácil.

Então fui ver como funciona a tal versão customizada.
Ela acaba sendo customizada mesmo. Fiz assim: download do eclipse básico que nem vou entrar em detalhes. Aí entrei no update manager para instalar o TPTP e apareceu toda a plataforma do Europa para que escolher o que quero. Selecionei o TPTP e PUFT!

Pipocaram várias dependências. Como me acho do ramo, fui catando os nomes compridões e buscando um a um onde se localizavam na árvore de update. Ufa, deu trabalho mas selecionei todas as dependências e alguns muitos minutos depois, fiquei com um eclipse só com o que eu queria.

Não consegui ainda entender porque a versão que a gente baixa para depois customizar é tão maior do que qualquer uma das versões para desenvolvedores. Depois da instalação via update este eclipse ocupa 276 Mb do meu HD (contra 217 Mb do modo anterior).


Depois disto tudo, fiquei pensando e ainda me pergunto. Não fosse eu tão novidadeiro, seria melhor ao invés de gastar tanto tempo com as idiossincrasias do update do eclipse, usar o

EasyEclipse 1.2


12 comentários:

Willian Mitsuda disse...

Olá Luca,

Não entendi bem a crítica ao "monstro Callisto, enorme engolidor de recursos". Só porque eles lançaram todos os projetos de uma vez, não significa que vc tem que baixar tudo ;)

A idéia das versões pré-empacotadas e dos all-in-one é facilitar o download dos pacotes mais populares, evitando que a pessoa tenha (mas não impedindo) que baixar o eclipse runtime e depois baixe o resto via update (2 etapas). IMHO, não acho um retrocesso, muito pelo contrário.

Quanto ao TPTP, estou presumindo que vc está usando o update manager. Vc pode selecionar só os pacotes que deseja do TPTP (tirando integração c/ WTP, BIRT, etc. se não quiser), e clicar naquele botão "Select Required" que ele vai calcular o mínimo necessário p/ baixar.

Acho que vc deve ter baixado o SDK de tudo sem querer (que vem c/ documentação de desenvolvimento, fontes, etc.), por isso o tamanho final ficou tão grande.

Luca Bastos disse...

Willian

Instalei sem o update (2 versões, all e comum+emf) e com o update.

Reclamei de como é trabalhoso conseguir um Eclipse do jeito que a gente precisa. No modo update, ele não reconhece automaticamente as dependências. Simplesmente diz que falta um treco de nome grandão que é preciso procurar manualmente entre TUDO que está disponível para baixar do Europa. Quando você acha um, ele diz que falta outro.

Foi faina de quase meia hora instalar o TPTP + Mylin via o update.

Luca Bastos disse...

Willian

Mais uma coisa. Reclamei do tamanho do download normal e não do SDK.

Willian Mitsuda disse...

O "Select Required" não funcionou? Se não, isso é um bug e deve ser reportado. A partir de qual pacote base vc fez o update?

Luca Bastos disse...

Willian

Acho que meu post não deve ter ficado claro porque nele eu tentei explicar exatamente os modos como fiz, de onde baixei, quando usei o update e ainda comparei os tamanhos resultantes.

Experimente fazer parecido e verá que o Eclipse não resolve automaticamente as dependências. Ele apenas lhe diz que falta um pacote de nome maluco e você precisa procurar em todos os downloads possíveis do Europa. É bem trabalhos porque depois que você resolve uma dependência ele aponta outra.

Não é bug, é falha de usabilidade. Ou descaso com quem pretende montar seu eclipse de forma seletiva.

Willian Mitsuda disse...

Estranho Luca, eu acabei de testar aqui por via das dúvidas, usando como base o pacote java e o platform-runtime, e nos 2 funcionou perfeitamente o update.

Selecionei todo o Mylyn e o TPTP, "Select required" e ele resolveu todas as dependências.

Concordo totalmente c/ vc que o Update Manager atual é extremamente bugento, mal projetado e cheio de falhas de usabilidade, e justamente por isso acho que vc poderia pegar um pouco mais leve ao culpar o Eclipse ou o Europa pelos problemas do UM.

Ao invés de ficar criticando, vamos tentar isolar o problema: tem alguma característica no seu ambiente que possa estar causando esse bug? Por acaso está usando uma JVM 1.4 (o ideal é uma 1.5+)? Baixando o update de qual mirror (eu estou usando o da UOL)?

Quanto ao tamanho, no meu teste c/ o runtime + JDT + Mylyn + TPTP deu 202MB. É, nesse caso não dá p/ fazer muita coisa além de baixar só o que vc for usar do TPTP (eu baixei tudo), mas IMHO ainda está aceitável...

Luca Bastos disse...

Willian

Repito, parece que minha mensagem inicial não está sendo entendida. Apenas descrevi os passos que fiz.

Repito, não é bug, é falha de usabilidade. Se isto acontece comigo que uso o eclipse desde quando ainda era baixado da IBM, imagino o que acontecerá com quem baixa pela primeira vez.

Meu JDK é o 6u01.

Willian Mitsuda disse...

Luca, realmente acho que não estou mesmo entendendo o objetivo do seu post... vc está reclamando que o Eclipse é modular e que por isso vc tem que ficar selecionando as dependências só porque não quer clicar no "Select Required"?

A sua reclamação é essa? De precisar clicar no "Select Required"?

Luca Bastos disse...

Willian

Para mim, o Select Required não deveria ser necessário. Por isso reclamei que a dependência mostra um nome complexo demais.

Na verdade não queria deixar tão claro assim mas depois de tanta polêmica não me resta outra alternativa.

Objetivos deste post
1) Mostrar que instalar um ou dois plug-ins no Eclipse demora muito, dá resultados diferentes quando se escolhe modos diferentes entre os sugeridos pelo site do Eclipse e que ainda não é tarefa automática.

2) O outro motivo do post foi lembrar que existe o EasyEclipse que pode ser mais produtivo quando o programador não pode perder o tempo que eu perdi só para executar cada passo mostrado no post.

Willian Mitsuda disse...

Ahh, agora sim estamos nos entendendo ;)

Luca, sugiro que comente/vote/pressione/etc. nesse bug report: https://bugs.eclipse.org/bugs/show_bug.cgi?id=146583

Unknown disse...

Luca,

está por dentro da campanha de marketing do eclipse que da uma camiseta do eclipse para quem fizer um review sobre o Eclipse Europa?

segue então o link:
http://www.eclipse.org/org/press-release/20070612cb_europareviews.php

E como vc já fez seu post, basta cadastrá-lo no dzone e enviar um email para o endereço indicado no link que postei.

=) Valeu

Anônimo disse...

Eu estou utilizando o Europa no Mac OS e posso dizer que está bem melhor que a versão 3.2 em termos de velocidade.

Quem sou eu

São Paulo/Paraty, SP/RJ, Brazil
Engenheiro estrutural COPPE/UFRJ por formação, desenvolvedor Java por experiência e poeta se sobrasse tempo