BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias 10 Anos de Eclipse

10 Anos de Eclipse

Favoritos

[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

Conteúdo educacional

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

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

BT