BT

10 Anos de Eclipse

por Alex Blewitt , traduzido por Giovanni Abner em 21 Nov 2011 |

[Este texto foi adaptado e parcialmente reescrito pela equipe editorial do InfoQ Brasil]

No dia 7 de novembro fez exatamente dez anos que foi lançado o ambiente de desenvolvimento Eclipse. O Eclipse 1.0 foi resultado de uma doação de código fonte pela IBM, com valor estimado de 40 milhões de dólares em 2001. Hoje o ecossistema Eclipse congrega 170 empresas, 270 projetos e 50 milhões de linhas de código e é um dos maiores sucessos da história das comunidades open source.

Pré-história

Na virada do milênio, havia vários ambientes de desenvolvimento para Java disponíveis, como o VisualCafé da Symantec e o JBuilder da Borland, além do Visual Age for Java da própria IBM. Porém, estes ambientes eram focados na linguagem em si e não lidaram bem com os avanços dos servlets e páginas HTML (e, mais tarde, JSPs). O Visual Age, em particular, usava um repositório orientado a objetos para o código-fonte, em vez de arquivos, o que criava dificuldades para o desenvolvimento de aplicações Java enterprise, que na época estavam começando a se tornar populares.

Com o lançamento inicial do WebSphere, em junho de 1998 (na época, basicamente um repositório de servlets), a IBM precisava de um ambiente que fosse capaz de complementar suas ferramentas de desenvolvimento em Java já existentes. A empresa lançou então o WebSphere Studio em setembro de 1998, para oferecer edição de código HTML. O lançamento ocorreu em conjunto com a versão 1.1 do WebSphere.

O Studio evoluiria para se tornar a base do Eclipse 1.0, e em 5 de novembro de 2001 foi anunciado:

O WebSphere Studio é a primeira ferramenta disponível comercialmente a ser baseada em um software de código aberto, de codinome Eclipse, que está sendo doado pela IBM a uma nova comunidade de fornecedores de ferramentas de software.

Na época, a IBM estava vendo diminuir o número de usuários do Visual Age. Uma nova geração de ferramentas de desenvolvimento - como o Apache Ant, cuja primeira versão pública, a 1.1, foi lançada em 19 de julho de 2000 - operava somente com arquivos fonte Java, e o Visual Age não conseguia tirar vantagens dessas outras ferramentas, que ajudavam a criar sites dinâmicos.

Além disso, outras ferramentas comerciais estavam ganhando popularidade. Não se sabe se a decisão da IBM de abrir o código do núcleo do WebSphere Studio teve o objetivo de aumentar a familiaridade dos desenvolvedores com seus produtos comerciais, ou se foi uma decisão visionária com a intenção de permitir uma maior colaboração entre competidores. Mas o fato é que o lançamento do Eclipse alcançou dois objetivos: o Eclipse se tornou um verdadeiro IDE Java, e levou à criação de uma organização e uma cadeia de ferramentas suportada por uma grande quantidade de empresas.

É importante destacar que o Eclipse não foi o primeiro ambiente de desenvolvimento em Java de código aberto; o código do NetBeans foi tornado open source em junho de 2000. Mas enquanto o NetBeans era baseado no Swing, o Eclipse se baseava em um conjunto de componentes gráficos inteiramente novo, que usava os próprios componentes nativos do sistema operacional para construir a interface com o usuário. Com o tempo, a diferença de velocidade entre os dois conjuntos de componentes diminuiu, embora o SWT continue oferecendo melhor integração nativa do que o Swing, diante da evolução dos sistemas operacionais.

O único outro ambiente comercial de desenvolvimento em Java que sobreviveu desde aquela época foi o IntelliJ, lançado em janeiro de 2001. Todos os outros ambientes comerciais significativos foram descontinuados ou passaram a ser executados sobre o Eclipse.

Consórcio e Fundação

O Consórcio Eclipse foi fundado em 29 de novembro de 2001, e era inicialmente formado por Borland, IBM, Merant, QNX, Rational, RedHat, SuSE e TogetherSoft.

Com a Borland, a Rational e outros tradicionais desenvolvedores em Java apoiando o Eclipse, o projeto deslanchou rapidamente, atingindo uma média de 4 mil downloads por dia no primeiro mês. A QNX tinha foco no mercado de sistemas embarcados, e em março de 2003 lançou o CDT 1.0, após menos de um ano de desenvolvimento. Hoje, o Java ainda é o pacote de desenvolvimento do Eclipse mais baixado, com o CDT em segundo lugar.

A Fundação Eclipse foi lançada em 2 de fevereiro de 2004, pouco mais de 2 anos após o Consórcio, e trouxe uma corporação sem fins lucrativos, com um corpo de diretores e um ecossistema independentes, para suportar parceiros estratégicos e fornecedores de extensões/plugins.

Na época do lançamento do Eclipse 3.1 em 2005 a Fundação já contava com 100 organizações participantes

O EclipseCon

lançamento da Conferência EclipseCon, em Anaheim, EUA, em fevereiro de 2004, foi um indicativo da importância do ecossistema para o Eclipse. O EclipseCon inaugural foi o lugar onde se anunciou a criação da Fundação, e tem sido uma conferência anual desde então.

O sucesso do EclipseCon nos Estados Unidos deu origem ao Eclipse Summit Europe de 2006 na Alemanha; este se transformou em um evento anual durante 2007, 200820092010. Na edição de 2011, recém-encerrada, a conferência foi renomeada para EclipseCon Europe.

As conferências EclipseCon permitiram que empresas competidoras entre si se encontrassem em um território neutro, para discutir pessoalmente melhorias e planos para o futuro de projetos de código aberto, além de oferecer um meio para distribuir notícias e inovação dentro do ecossistema do Eclipse.

Release trains

Nenhuma retrospectiva sobre o Eclipse estaria completa sem considerar os benefícios que os release trains trouxeram à plataforma. Esses lançamentos consolidados e sincronizados de vários subprojetos do Eclipse foram iniciados com o Callisto, em 2006.

Até aquele ponto, o projeto base (que consistia nas ferramentas de desenvolvimento para Java e na Rich Client Platform, RCP) era o download principal e os plugins tinham que ser adicionados um a um. Mas pequenas inconsistências tornavam esse processo complexo e sujeito a erros, e conseguir uma combinação que funcionasse corretamente era problemático.

Inicialmente os lançamentos consolidados receberam os nomes dos satélites de Júpiter. Após o lançamento do Ganymededo Gallileo, em 2008 e 2009, começaram a seguir a ordem alfabética: foi assim com o Helios em 2010 e o Indigo em 2011. O lançamento do próximo ano será chamado Juno.

O planejamento dos lançamentos segue um plano estrito que, sendo fiel às suas origens ágeis, mantém um intervalo consistente entre releases, mas permite negociação e ajustes no escopo do que será lançado. Como resultado, o software vem sendo entregue dentro do prazo, anualmente, ao longo de toda a última década:

  • Eclipse 1.0 - 7 de novembro de 2001 (Win32/Linux32 Motif)
  • Eclipse 2.0 - 27 de junho de 2002 (Linux32 Motif + GTK, e Solaris/QNX/AIX)
  • Eclipse 2.1 - 27 de março de 2003 (primeira versão para OSX)
  • Eclipse 3.0 - 25 de junho de 2004 (primeira versão OSGi)
  • Eclipse 3.1 - 27 de junho de 2005
  • Eclipse 3.2 - 29 de junho de 2006 (Callisto)
  • Eclipse 3.3 - 25 de junho de 2007 (Europa)
  • Eclipse 3.4 - 17 de junho de 2008 (Ganymede)
  • Eclipse 3.5 - 11 de junho de 2009 (Galileo)
  • Eclipse 3.6 - 8 de junho de 2010 (Helios)
  • Eclipse 3.7 - 22 de junho de 2011 (Indigo)

plano de releases do Juno indica que os lançamentos consolidados devem acontecer por volta de 27 de junho de 2012. A julgar pelo retrospecto, não resta dúvida de que essa meta será cumprida.

OSGi e modularidade

O Eclipse sempre adotou um modelo extensível, desde a versão 1.0, e foi projetado para permitir que empresas pudessem conectar e integrar componentes, fossem eles de código aberto ou proprietários.

Outros ambientes integrados de desenvolvimento também trabalham com plugins; tanto o NetBeans quanto o IntelliJ (mais tarde) permitiam adicionar componentes externos à aplicação principal. Mas ao contrário do IntelliJ (que faz distinção entre o código do ambiente de desenvolvimento e o dos plugins que o estendem), o próprio Eclipse sempre foi projetado tendo em mente a modularidade.

Foi em 2004, com o lançamento da versão 3.0, que o Eclipse realmente mudou toda uma indústria. Trocou seu sistema de módulos próprio por outro que executava sobre um framework pouco conhecido na época, o OSGi:

O Eclipse foi adaptado para oferecer suporte à especificação do framework OSGi, ao se construir aplicações funcionalmente extensíveis. Este padrão aberto para extensões modulares suporta instalação e ativação dinâmica, controladas pelo programa. Permite com isso controlar com precisão recursos como memória em ferramentas integradas complexas. Além disso, o ambiente de desenvolvimento de plugins do Eclipse agora suporta plataformas que incorporam um número muito grande de plugins.

Esse ganho de abertura e escalabilidade permitiu que o Eclipse se expandisse muito mais, além de colocar o OSGi sob os holofotes e atrair uma nova gama de desenvolvedores para usar o padrão. Ao contrário da malfadada JSR 198 (API padronizada para IDEs), o OSGi conseguiu compor o núcleo de todos os ambientes de desenvolvimento baseados no Eclipse, e agora está em todos os principais servidores de aplicações Java EE.

Modeling, Mylyn e mais

A Fundação Eclipse também abriga outros projetos que dificilmente se poderia imaginar na época da primeira versão do Eclipse.

O framework Modeling tornou-se tanto uma importante infraestrutura para ferramentas UML quanto um terreno fértil para a pesquisa de novas tecnologias, como modelagem gráfica e desenvolvimento baseado em modelos.

Mylyn trouxe uma forma de mostrar apenas os componentes do IDE relevantes no momento, aumentando o foco do desenvolvedor. Além disso, tornou-se o ponto de integração com ferramentas de issue tracking, tanto de código aberto quanto comerciais. Desde então, deu origem a ferramentas de revisão de código (como o Gerrit) e pretende se tornar o padrão de mercado em ferramentas de gerenciamento do ciclo de vida de aplicações.

Xtext é uma ferramenta que gera parsers, permitindo criar IDEs hospedados no Eclipse. Um site recém-lançado demonstra uma linguagem construída com o Xtext. Quando o arquivo fonte é salvo, código Java é automaticamente gerado e compilado, permitindo realizar introspecção e depuração, se surgirem problemas.

BIRT oferece ferramentas de business intelligence e relatórios, e é o núcleo (de código aberto) do produto comercial Actuate. Permite criar gráficos e relatórios automaticamente, com base em fontes de dados predefinidas.

Existem muitos outros projetos na Fundação Eclipse; mais de 170 empresas trabalhando em 270 projetos, com mais de mil desenvolvedores, contribuem com as 50 milhões de linhas de código sob a tutela da Fundação.

Os próximos dez anos

Se o Eclipse fez toda essa diferença na última década, o que esperar da próxima? A Fundação tem um bom ponto de partida - um lugar onde produtos comerciais podem ser construídos, sobre uma base sólida de diretrizes de propriedade intelectual. Mas é provável que novas mudanças imprevisíveis, como a adoção do OSGi, causem o maior impacto.

A próxima versão do Eclipse passará a usar o e4, uma forma de construir interfaces gráficas declarativamente, com CSS. Embora o Juno tenha disponíveis (assim como o Indigo) tanto a interface gráfica tradicional quanto a baseada no e4, o Juno será o primeiro release a usar o e4 por padrão. Mas estima-se que a maioria dos plugins desenvolvidos para a versão 3.7 serão capazes de executar em instalações baseadas no e4.

Tem sido um desafio identificar qual será a próxima evolução dos IDEs, mas com o amadurecimento da computação em nuvem, pode-se dizer que vários dos caminhos possíveis passam pelo Eclipse Orion, um IDE para desenvolvimento web que é, ele próprio, uma aplicação web.

Finalmente, à medida que novas linguagens surgem, como Scala, Groovy, Ruby, Kotlin e Ceylon, e são construídas sobre novas plataformas, como Android/Dalvik ou Dart/Go, o Eclipse terá papel fundamental, representando um excelente ponto de partida para qualquer novo ambiente.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.